LoadScene destroying whole scene

That’s how loading a whole new scene works. There are a few different approaches.

One approach is to selectively mark what you want to keep with DontDestroyOnLoad().

Additive scene loading / unloading is one possible solution:

A multi-scene loader thingy:

My typical Scene Loader:

Other notes on additive scene loading:

Timing of scene loading:

Also, if something exists only in one scene, DO NOT MAKE A PREFAB out of it. It’s a waste of time and needlessly splits your work between two files, the prefab and the scene, leading to many possible errors and edge cases.

Two similar examples of checking if everything is ready to go: