Is it possible to safely spawn actors off the game thread?

Hi,

In short, the answer is no as spawning actors in unreal must be done on the game thread.

As denoted here, in the actor lifecycle, when spawning an actor it calls UWorld::SpawnActor which is tied with systems that are not thread safe.

Even creating actor objects should happen on the game thread: https://forums.unrealengine.com/t/can-i-create-an-actor-object-in-a-thread-other-than-the-gamethread-thread/626922/3

The most you can do is do prep work off the game thread and then you can do deferred spawning which can queue up spawn requests and be spawned on the game thread later safely when needed. (You can also do regular actor spawning after all the prep work if it doesn’t need anymore configuration)

Regards