I have a game in development where in order to save as much RAM as possible (I’m limited to 2 gigs on stand alone) I need to delete the terrain from the game world when it is not in a 3x3 area of terrain tiles based on player location, and I want the game world to be rather big. I’ve gotten the terrain to render, but deleting it from the game world is annoying… Here is basically what I got going on for deleting (testing out what works in this):
//Get level name public TerrainData startTerrain; void Start () { Terrain.CreateTerrainGameObject(startTerrain); } void Update () { if (Input.GetKeyDown("p")) { Terrain.Destroy(startTerrain); } }
Destroy(startTerrain); returns an error: “Destroy won’t let you delete an asset blah blah blah, use DestroyImmediate to destroy assets…”, and DestroyImmediate(startTerrain, true); completely breaks the asset and makes it impossible to use it again until I rename it, which I can’t have the end user do… I certainly wouldn’t rename the file in a stand alone.
Thanks! Working beautifully. Stats panel on my desktop says over 3000 frames (which is VERY hard to believe...) and 300 or so on the computer that the stand alone has to run on, and takes up almost no RAM which is very nice-going to end up using it all up anyway. I looked into the terrain tiling, but unfortunately it is defeating the purpose of my final computer science project, I have to make this mostly on my own and with standard assets unity comes with.
– liciors