Fill a TArray with UObject

Okay I have more informations :
I did an initialization function and called it by an input, with the exact same loop. It worked.

So something happen after the beginplay and erase the pointers… But what ?

Edit :
I start to have something, I tested if the component was initialized during beginplayimage
And it isn’t. So I think the component initialization is done after beginplay and erase my own… Just need to know how to be sure BeginPlay is launch after init, or a way to detect when the init is done to launch my own.

Edit 2 :
No, the component init is only called if you want it and it’s before beginplay anyway… Seriously, there is nothing after beginplay… What the hell…

Edit 3 :
Nevermind, the problem seems to come from the Character class owning the component. I tested on a clean one, it works.