How to make separate levels

Its the “usual” way of doing things. If you have separate levels and want to share information between them Game Instance is where to store them.

If you have a massive world (say an entire city with buildings you can walk into) then using Level Streaming is better because you can have a persistent world with parts being loaded / unloaded as needed (think a city like in GTA).

Im using the Game Instance in my current project because I have distinct levels.