OnSerializeNetworkView problems!

I have some problems getting my game setup to work, for some reason it does seems like OnSerializeNetworkView does not send the data out to the client. All this script should do, is set up a server, and once a client connect to it, it spawns a prefab, that is controlled by the client, but handled by the server. And is does seem to be working this way. What happens is that everything seems to be working, and the object is moved around on the server from the client computer, but the client is does not recive data, so on the client the gameobject just stand still, while it moves on the server?

I have been trying to make it as simple as possible to be able to understand what is going on fully.

Can anyone help me solve this problem I have, and tell me what I am doing wrong?

Here is the spawn script:

using UnityEngine;
using System.Collections;

public class SpawnScript : MonoBehaviour

    public GameObject playerPrefab, test;

    public void OnPlayerConnected (NetworkPlayer newPlayer)
        //A player connected to me(the server)!
        //print("Player has number1: " + newPlayer.ToString());

    public void Spawnplayer (NetworkPlayer newPlayer)
        //Called on the server only
        int playerNumber = int.Parse (newPlayer.ToString ());
        //print("Player has number: " + playerNumber);

        //Instantiate a new object for this player, remember; the server is therefore the owner.
        GameObject myNewTrans = (GameObject) Network.Instantiate (playerPrefab, transform.position, transform.rotation, playerNumber);

        NetworkView newObjectsNetworkview = myNewTrans.networkView;

        //Debug.Log("New object instantiated by " + newObjectsNetworkview.owner);

        //Call an RPC on this new networkview, set the player who controls this player
        newObjectsNetworkview.RPC ("SetPlayer", RPCMode.AllBuffered, newPlayer);
        //Set it on the owner

And here is the Move Script:

using UnityEngine;
using System.Collections;

public class Mover : MonoBehaviour

    public NetworkPlayer owner;

//The input values the server will execute on this object
    private float serverCurrentHInput = 0;
    private float serverCurrentVInput = 0;

    void Awake ()
        // We are probably not the owner of this object: disable this script.
        // RPC's and OnSerializeNetworkView will STILL get trough!
        // The server ALWAYS run this script though
        if (Network.isClient) {
            enabled = false;
            // disable this script (this disables Update());    

    public void SetPlayer (NetworkPlayer player)
        owner = player;
        if (player == Network.player) {
            //Hey thats us! We can control this player: enable this script (this enables Update());
            enabled = true;

    void Update ()
        //Client code
        if (Network.player == owner) {
            //Only the client that owns this object executes this code
            float HInput = Input.GetAxis ("Horizontal");
            float VInput = Input.GetAxis ("Vertical");

            networkView.RPC ("SendMovementInput", RPCMode.Server, HInput, VInput);

            Debug.Log("New object is owned by " + this.networkView.owner);


            this.transform.Translate(serverCurrentHInput * 5 * Time.deltaTime, 0, serverCurrentVInput * 5 * Time.deltaTime);

    public void SendMovementInput (float HInput, float VInput)
        //Called on the server
        serverCurrentHInput = HInput;
        serverCurrentVInput = VInput;

    void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
        if (stream.isWriting) {
            //This is executed on the owner of the networkview
            //The owner sends it's position over the network
            print("Is Writing" + info.sender + info.networkView);
            Vector3 pos = transform.position;
            stream.Serialize (ref pos);

        } else {
            //Executed on all non-owners
            //This client receive a position and set the object to it
            print("Is Reciving");
            Vector3 posReceive = Vector3.zero;
            stream.Serialize (ref posReceive);
            //"Decode" it and receive it
            //We've just recieved the current servers position of this object in 'posReceive'.

            transform.position = posReceive;
            //To reduce laggy movement a bit you could comment the line above and use position lerping below instead:   
            //transform.position = Vector3.Lerp(transform.position, posReceive, 0.9); //"lerp" to the posReceive by 90%


For some reason, writing a question here, has the effet that the answer comes by itself.

What was wrong, was that the networkview was off(From a earlier RPC experiment), and that I did not have the script as what was observed. Now it works.