Are all actors created at the same time?

Hi, I was wondering if all actors are created at the same time. Do they call BeginPlay() exactly at the same time?
I am afraid of using the pointer of an actor that has not yet been created and get a crash.
Thanks.

No, as single CPU thread can do only one thing at the time and all actors are spawn in game thread, they spawn in some random order.

For ferther help can you put more detail on issue? What object you trying to access and in what method?

For example, I am accessing a camera actor in the level from the character. I seems to work fine but how can I be certain that I always access valid actors? I was thinking of creating a timer that waits for the actor to be valid. Would that make sense?

If camera is part of the level and character is player controller spawn system is should be pretty much 100%, since actors on level spawn on load before gamemode or playercontrollers spawns and spawn pawn.

Just in case you can check if camera pointer you got is not null before doing anything to avoid crash, in general you should prepare youy code for this kind of incidents, if you know that something invalid can happen. Maybe rethink your idea logically, maybe there way other way around, like for example instead of making player do call on camera make camera interacting with the player.

If you bypass spawn system and player pawn and camera is palced on the level, the just make ACameraActor EditAnywhere property and set that variable on the level

Thanks! That makes more sense now.