Can I utilize LoadLevelAdditive for immersive game?

Lets say a game like Skyrim or GTA, somewhat a sandbox game, each scene is a city, plains or a cave.
When the player gets within X distance from the edge of the current scene I would run the script (or LoadLevelAdditiveAsync).

The problem is re-positioning the whole new scene to the current one, and sometimes more than a single scene each at it’s own position.

Another problem could be manually destroying objects from scenes no longer needed.

What is the best way to solve these problems?

Why not build the level in its correct place, so you don’t have to reposition it?

In my current project, each level is contained in a single empty game object. Makes it easy to unload a level. (Just destroy the level’s main game object.) I suppose you could also reposition this object to reposition the whole level.

I keep some management scripts on the level’s main object to do things like save/load changes from the default version of the scene. For example, if the NPC is at (0,0) in the level’s scene file, and moves to (10,10), I record this before unloading the level. Then, when the player re-enters that level, I move the NPC to (10,10).

You’ll probably want to make the levels fairly granular so you can cache them in and out quickly, and keep something like a 3x3 or 5x5 grid of levels loaded around the player.

changing scenes will slow you down. anyway a brief explanation on how skyrim does it.

okay Skyrim uses a array of multiple of terrains, each sharing the same height map but only a small section of it(they also overlap a little bit, if you have creation kit, skyrim references these as “cells” when you are in the Tamriel scene). In games like this Occlusion culling plays a big role in performance. so Skyrim just uses one really big scene for it world , things like the inside towns have there own scene, inside caves and dungeons have there own scene. because they use lots of terrains, occlusion culling will render whats visible instead of the whole terrain/level.

GTA does something similar to this, at least in GTA IV.

however unity is a bit different to creation engine. and may have more limitations in a sense of terrain/levels. you can still replicate this, easily even without terrains. its better to use smaller terrains than the original 2 square Kilometer terrain. (2000x2000) as a soon as a bit of it visible it will render the entire thing.

this is what im using in my game now and it works great(until my trial ran out lol). I used a large height map then divided it to scale to make the Mini terrains connect properly. Occlusion Culling should handle the rest.

hope it helps