Server/Client Camera Spawns Different

btw all this thing will run on server side only.

Yeah, I just tested what you suggested with PlayerController::Possess() and it seems that’s the case.

The problem I’m having is that client players briefly show a zoomed out view before the camera gets set to the default one (pictured top). With SetViewTarget in PlayerController::BeginPlay(), it already works fine for the server player (pictured bottom).

I think the reason it resets after one frame is something like this:
Client Spawns PC:

  • calls PC::BeginPlay()
  • sets camera to correct one
    Then,
    Server Spawns copy of client actor:
  • resets it to the default camera
  • replicates the new camera to the client

I’m not sure how to fix this aside from using something gimmicky like a timed delay. I think there’s probably some appropriate function where I should do this, but I’m not sure what it is.