How to get references to level's Actors in a UGameInstance at startup (on Standalone too)

I want to get the reference of some objects in my GameInstance class at startup. Specifically, I want to get a reference to an Actor which I know it’s present at startup (I’ve placed from the editor) and the user’s Pawn.

I’ve got my UCustomGameInstance class (which inherits from UGameInstance) and I’m overriding the “Init()” method.

To reference the pawn, I tried using this:

   UGameStatistics::GetPlayerPawn(0);

but apparently the player isn’t initiated yet when the Init() method is called, so that returns a nullptr.

I tried using this:

for(TActorIterator<AUserPawn> actorItr(GetWorld()); actorItr; ++actorItr)
{
    UE_LOG(LogTemp, Warning, TEXT("CustomGameInstance::Init() ---> FOUND PAWN!"));

    userPawn = *actorItr;
}

It works, but only when in PIE. When I try playing in Standalone it doesn’t work, for some reason I can’t figure out.

So, how can I get the references of objects in the Init() method? I must initialize certain things when the game starts, and I must do that before anything else. The Init() method of the GameInstance sounded like the best thing, but I’m starting to change my mind…