Where to put Initialization Logic?

hi.

i’m confused in where i should put my game logic, like variable and current game state ( enum ) i saw something about the UGameInstance, it’s that the way to prefer?

actually i’m doing it in GameMode but will be destroyed between levels

What do you mean by game logic ? Level rules, etc ?

i mean, i’m coming from Unity where i used to have a “persistent” Game Controller class that won’t be destroyed between scenes, so i can keep there everything i need to be alive between scenes, from what i understand in Unreal i have two choice, or use “GameMode” in each scene to do my stuff, or just use a “GameInstance” class that it’s a Singleton and i’ll be able to do the same as Unity and GameController right?