I thought i’d cracked the network replication after I had it fully functional - but then wanted to change the blueprint structuring and move it from the pawn to the controller so I could use an interact function regardless of pawns - This seems to not be liked by the engine.
I am simply attempting to lerp a static mesh component from one relative transform to another (toggled by a trace hit on the component/actor with a specific tag of “moveable”).
Neither Client0 or Client1 can affect the OTHER client. So if Client0 interacts it moves on their screen - but not on Client1’s and vice versa.
Play as Listen Server
When Client0 interacts it affects their component and on the server. If the server interacts it affects their component but not the Client0 component.
Update during typing:
I altered the code after realising that the boolean state was not updating - I thought perhaps maybe the function for its’ update should be run in the multicast. No luck and in fact now it acts the exact same way - except it also alters the state for the server’s component.
Well - I just realised that one issue with the new update is that the controller doesn’t exist on every client and only exists locally. So I guess we’ll move this back to the respective pawns, lets see if that fixes it.
Edit:
Yeah - I guess i’ll just go back to what I had originally where the events ran on the pawn rather than the controller unless someone can explain how to do it the nicer way on the controller.
… and if some are biped and others are spaceships that use accelaration and constant velocity based movement systems with entirely seperate bindings…?
There are two parent classes. It’s fine - I see where you are coming from but sadly it isn’t quite a solution.