How the scene works

How do scene loading in unity works(LevelLoad…). To load the objects unity will just use the Instantiate() method(which is bloody slow)? If no, there is a way to load a level from a custom scene format and achieve the same performance as the default scene loading? I’m asking this because i want to build a relatively large streaming world and store the player changes in the file(e.g a previously destroyed rock won’t be there the next time he visits the area).

Use AssetBundle