Keeping Uobject or Actor Between Levels

Hi ,
I have an UObject ( First time is actor ), and I want this UObject be alive after changing levels.

UObject is an UProperty in GameInstance,
after level changed, this UObject becomes null.
If UObject called AddToRoot first, then it will crash.

If i use an Actor, whether call AddToRoot or not,
after level changed, Actor is alive but its inner variables are lost.

Am I missing something?