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.