Hi there, Swallie
While in SP you can move pretty much whatever you want, in MP any controller can only interact with objects it has authority over. For more in-depth explanation you can read Actor Role and Remote Role in UE
For how you should fix that:
- Call an RPC from an owned actor - in your case that would be either the possessed character or the player controller.
- That call should call your “Change location function” which would be executed no the server.
- In order to get the result back to the observing clients you should rely on replication so all involved objects should be replicated.
Don’t be intimidated by the C++ code in there. RPCs are easily done in BP like this: