How to Spawn Actor, Initialize UObject without attaching to Level/World Context

I wanted to have Data/Logic blueprint that is valid for the lifetime of an entire game (spawned in GameInstance), but i ended up getting gc crash on Level change, because the Actor is bound to current Level/World context.

One way to do this is to spawn actor on begin play and destroy on level change and keep all global data in struct in GameInstance.

Is there any way to have Initialized actor without spawning it in the world context without using cpp?

Why use actor at all in that case? Use UObject and ConstructObject() to initiate it, it works like spawn actor for UObjects

https://docs.unrealengine.com/latest/INT/API/Runtime/CoreUObject/UObject/ConstructObject/2/index.html

Dont use it on Actorsas it might mes up things

I know it’s possible in cpp, and i’m asking if it’s possible in blueprints, i don’t see any uobject initialization node.