What is in memory what is on disk ?

If I spawn an object that does not already exists in the level (placed) will it be loaded from disk ?
I don’t understand what the Level actually loads/holds.

You would use AssetManager to load the object from disk then spawn the loaded object into an instance in the level. For objects already placed in level by the editor you don’t need to do anything. Loading the level loads and spawns everything.

By default, anything your level references directly or indirectly will be loaded as part of the level loading or streaming process. For example, if your level’s GameMode blueprint spawns an instance of another blueprint after something happens, that other blueprint and everything it references will already be loaded along with the level, because the reference to it was known when the GameMode blueprint was saved.

To avoid assets from being automatically loaded with the level, you need to store references to them as “Soft” references, which need to be manually loaded before they can be used. This is very important on games where you have large amounts of items/weapons/equipment/characters/enemies/etc referenced in DataTables or DataAssets and only need ever need to have a few of them loaded at a given time, otherwise your memory usage and loading times will spiral out of control.