networking - how to move an object that belongs to server/somebody else

I've been following M2H tutorials and haven't find the answer for that - if we have a cube, already in the scene, then if the multiplayer game starts - apparently - it belongs to server.

if we give it networkview and make sure it's transform is observed, then if we move the cube - the cube's position updates on all the players' screens only if it's the server that does the moving.

if it's client that moves the cube, the cube doesn't update on all the other screens.

how can we possibly solve that?

If the server owns the object, which would happen if you Network.Instantiated it from the server you need to also set up your own ownership system which will allow for the person who's object it should be to be able to send RPCs updating the inputs to the server.

Network.Instantiate makes it a little difficult to do your own stuff. Which is why the M@H tutorials suggest to make your own version of Network.Instatiate so that you can send whatever data to the object upon creation and do your own custom setup stuff while it's being created.

I made my own RPC functions to instantiate objects into my game and yes it take a little more setup but the control it gives you over the object while creating them is really nice.