I want to know whether level and scene management for memory and process management is handled by Unity, or if the developer has to handle these kinds of concerns.

For example, imagine you want to develop an open world game, and you just start adding prefabs of people and cars and buildings and... until it's certain the target device can't handle all of them at same time. How can I manage the amound of content that is processed in the game?

Is this management handled automatically by Unity, or do I have to implement some techniques for this kind of work?


If you tell Unity to spawn an instance of a prefab, it won't automatically delete that instance without you telling it to do so.

(This is good - we don't want an engine that deletes stuff out from under us! We know better than the engine does which instances we still want - we just need to communicate that knowledge by telling it when we're finished with these objects)

You can use the Level of Detail and Culling systems to reduce the rendering performance impact of objects away from the camera's focus, but they'll still take up at least some time & memory.

If you're hesitant to implement your own solution for unloading unseen content, you can look to existing tools and libraries like SECTR that can help with these kinds of tasks. (This is how Campo Santo managed the world of Firewatch, for instance)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.