{"id":4190,"date":"2022-08-21T22:09:05","date_gmt":"2022-08-21T16:39:05","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/"},"modified":"2022-08-21T22:09:05","modified_gmt":"2022-08-21T16:39:05","slug":"solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/","title":{"rendered":"[Solved] My custom terrain generation plugin instantiates to much prefabs"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-24999446\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"24999446\" data-parentid=\"24872680\" data-score=\"6\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Firstly, change your 25 lines of Instantiation to this:<\/p>\n<pre><code>for (int i = -2; i&lt; 3; i++)\n    {\n        for (int j = -2; j &lt; 3; j++)\n        {\n            Instantiate(terrains[Random.Range(0,terrains.length)], \n                          Vector3(j*50, 0, i*50), Quaternion.identity);\n        }\n    }\n<\/code><\/pre>\n<p>Secondly, you already have the gameobject in this call, so don&#8217;t use GameObject.Find() \/\/it&#8217;s expensive<br \/>\nSo assuming the object that is tagged &#8220;Player&#8221; has the FPS Controller, change:<\/p>\n<pre><code>if(col.gameObject.tag == \"Player\") {\n    this.name = \"Chunk (\" + this.transform.position.x + \", \" + this.transform.position.y + \", \" + this.transform.position.z + \")\";\n    gameObject.Find(\"First Person Controller\").SendMessage(\"callGenerate\");\n}\n<\/code><\/pre>\n<p>To:<\/p>\n<pre><code>if(col.gameObject.tag == \"Player\") {\n    this.name = \"Chunk (\" + this.transform.position.x + \", \" + this.transform.position.y + \", \" + this.transform.position.z + \")\";\n    col.gameObject.SendMessage(\"callGenerate\");\n}\n<\/code><\/pre>\n<p>Finally, it looks like from your code that you want to have your generation based off of where the player currently is. Rather than do this in the OnTriggerExit, put it in the OnTriggerEnter() and then pass the trigger object to you function, saving you from needing to find the active object in the callGenerate method:<\/p>\n<pre><code>function OnTriggerEnter (col : Collider) {\nif(col.gameObject.tag == \"Player\") {\n    this.name = \"ACTIVE_Chunk (\" + this.transform.position.x + \", \" + this.transform.position.y + \", \" + this.transform.position.z + \")\";\n    col.gameObject.SendMessage(\"callGenerate\", this.gameObject);\n    }   \n}\n\nfunction callGenerate(go: GameObject) {\n    if(canGenerate) {\n        canGenerate = false; \/\/you were redeclaring this variable here, \n        \/\/which is mostly likely why you had more generation going on than desired\n        generateFromMiddleOfChunk(go.transform.position);\n    }\n}\n<\/code><\/pre>\n<p>I can&#8217;t find where it is that you are saving your chunks, but you will want to do this in a way that you only generate the new chunks that are needed.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved My custom terrain generation plugin instantiates to much prefabs <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Firstly, change your 25 lines of Instantiation to this: for (int i = -2; i&lt; 3; i++) { for (int j = -2; j &lt; 3; j++) { Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(j*50, 0, i*50), Quaternion.identity); } } Secondly, you already have the gameobject in this call, so don&#8217;t use GameObject.Find() \/\/it&#8217;s expensive So assuming the object &#8230; <a title=\"[Solved] My custom terrain generation plugin instantiates to much prefabs\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\" aria-label=\"More on [Solved] My custom terrain generation plugin instantiates to much prefabs\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[659,538,658],"class_list":["post-4190","post","type-post","status-publish","format-standard","hentry","category-solved","tag-terrain","tag-unity3d","tag-unityscript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Firstly, change your 25 lines of Instantiation to this: for (int i = -2; i&lt; 3; i++) { for (int j = -2; j &lt; 3; j++) { Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(j*50, 0, i*50), Quaternion.identity); } } Secondly, you already have the gameobject in this call, so don&#8217;t use GameObject.Find() \/\/it&#8217;s expensive So assuming the object ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-21T16:39:05+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] My custom terrain generation plugin instantiates to much prefabs\",\"datePublished\":\"2022-08-21T16:39:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\"},\"wordCount\":151,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"terrain\",\"unity3d\",\"unityscript\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\",\"name\":\"[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-21T16:39:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] My custom terrain generation plugin instantiates to much prefabs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb","og_description":"[ad_1] Firstly, change your 25 lines of Instantiation to this: for (int i = -2; i&lt; 3; i++) { for (int j = -2; j &lt; 3; j++) { Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(j*50, 0, i*50), Quaternion.identity); } } Secondly, you already have the gameobject in this call, so don&#8217;t use GameObject.Find() \/\/it&#8217;s expensive So assuming the object ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/","og_site_name":"JassWeb","article_published_time":"2022-08-21T16:39:05+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] My custom terrain generation plugin instantiates to much prefabs","datePublished":"2022-08-21T16:39:05+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/"},"wordCount":151,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["terrain","unity3d","unityscript"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/","url":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/","name":"[Solved] My custom terrain generation plugin instantiates to much prefabs - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-21T16:39:05+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-my-custom-terrain-generation-plugin-instantiates-to-much-prefabs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] My custom terrain generation plugin instantiates to much prefabs"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=4190"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4190\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=4190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=4190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=4190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}