Why do clients not auto activate Camera (ACameraActor)? No camera for clients.

In my player controller’s BeginPlay I check whether the player may activate any “view targets” by adding:

for (auto iter = GetWorld()->GetAutoActivateCameraIterator(); iter; ++iter)

However, the iterator is always empty for every connected client. The listenserver (host) will find the ACameraActor instance. GetAutoActivatePlayerIndex returns the correct index btw. Due to the failure to activate a camera actor, it defaults to the pawn.

I have placed 1 ACameraActor in the level, and set auto activate to player0. Every local player should yield the 0 index.


Iterating by class finds the instances just fine:

for (TActorIterator<ACameraActor> iter(GetWorld()); iter; ++iter)

Here’s the output from the hosting client (listen server):

actor iterator found camera: CameraActor, PlayerIndex: 0, Local=FALSE
actor iterator found camera: CameraActor_0, PlayerIndex: -1, Local=FALSE
actor iterator found camera: CameraActor_1, PlayerIndex: -1, Local=FALSE
GetAutoActivateCameraForPlayer invalid!

And here’s the client’s log (connected client, tested locally):

actor iterator found camera: CameraActor, PlayerIndex: 0, Local=TRUE
actor iterator found camera: CameraActor_0, PlayerIndex: -1, Local=TRUE
actor iterator found camera: CameraActor_1, PlayerIndex: -1, Local=TRUE
GetAutoActivateCameraForPlayer invalid!

The PlayerIndex is retrieved by calling ACameraActor::GetAutoActivatePlayerIndex(), described as:
/** Returns index of the player for whom we auto-activate, or INDEX_NONE (-1) if disabled. */.


I made sure the `ACameraActor` instance had `NetLoad` set to `TRUE`. Though it probably isn't a replication issue, as the instances are found.

Any suggestions?

I’ve also posted on the forums, as the answerhub is less active: Why do clients not auto activate Camera (ACameraActor)? - C++ - Epic Developer Community Forums