Open World Unloading

So for a big open world game, we obviously use LoadLevelAdditiveAsync to load in parts of the world as the user moves around, but what is the best way of unloading sections of the world? We obviously can’t continue loading the world without unloading anything as we would run out of memory.

I’m assuming here that we basically zone off our world into distinct sections and each “zone” is basically an individual scene in unity. But there is no functions to unload a scene.

Would the best way be to all elements in a scene derive from a single top parent that could be destroyed thereby essentially destroying the entire scene?

Thanks.

If it’s a large world with different environment sections I would suggest placing all of the objects that make up that environment as a child to a single gameobject with the enviornment name. This way if the player leaves the area you can easily disable that object and all the child objects that make up the zone. Then if the player is getting close to the zone again then re enable that gameobject and it’s child objects. Best thing I can think of.

I am still unsure if you have multiple scenes created or everything in one single scene.