How to set initial camera location on client?

There is a time delay between when the begin play starts on the player controller on the client and the server. So when the map starts you are looking from location 0,0,0 till the local clients player controller spawns in. Once that happens everything is fine, but there is a short period of time where you are just sitting there at 0,0,0.

I had similar issue.

During the first few frames of the client, scene view seems to refer GetPlayerViewPoint() of dummy player controller, which is all zero.
That dummy player controller is spawned using PendingLevelPlayerControllerClass of ULocalPlayer and after a while it is replaced by the actual player controller which is replicated from the server.

So I just made the PendingLevelPlayerControllerClass have my own PlayerController class.
It can be done by overriding USoulGameInstance::CreateInitialPlayer() or somewhere else.

Because replication of view target not works at this point yet, I set a static camera actor as a viewtarget in my player controller’s PostInitializeComponent.

This worked for me somehow, but I’m not sure this is a proper solution.