I am working on a top-down turn-based strategy game, and faced with a peculiar problem with the spring arm component of my camera. My Camera Pawn consists of a sphere for visual debugging purposes, a spring arm attached to it, and the camera on top of it, looking directly down.
When both players are connected, the Level BP gives the command to the both Player Controllers (PlayerCameraControl is my custom PC) to possess two separate Camera Pawns:
The controls for X and Y axis work fine as well, so the possession goes through alright. But the problem I have is that the zoom in and zoom out that modify the actor’s spring arm length, work only on the Server! If I run the Dedicated server, neither of the two clients can zoom in/out, even though the values of the spring arm length change as intended. The camera does not respond to it’s own arm lengthening. Here is Zoom in and Zoom out BPs (located in my PC class):
Notes:
The replication on both the Pawn and all of it’s components is enabled.
I did not touch the relevance settings as I did not know what they do, but I assume this is not the relevance problem.
Could someone please help me figure out why the zoom in/out does not work?
I’m having trouble understanding what I should do here.
I can’t edit the properties of Spring Arm Length variable, because it seems to be… I don’t know the word for it, maybe inherent? Like an immutable component of the Spring Arm that I have no control over.
I don’t know how to check the ownership of a variable, either - there is a node for checking actor ownership, but not the variable.
The Spring Arm component itself was giving me a headache, and I realised that since it’s a strategy game, I have no camera collisions with anything, so the Spring Arm was not necessary at all.
I made a pawn without the Spring Arm, and it worked.
So I suppose the question can be closed, however it’s not exactly resolved.