Unity 5.1 Networking - порождает объект как дочерний для хоста и всех клиентов

У меня есть объект игрока, который может вооружить несколько видов оружия. Когда оружие экипировано, родитель его трансформации устанавливается на его руку. Я возился с этим в течение некоторого времени и не могу заставить это работать как для хоста, так и для клиента. Прямо сейчас я пытаюсь оснастить оружие на сервере и сказать всем клиентам, чтобы их родители настраивали преобразования.

public NetworkInstanceId weaponNetId; 

   [Command]
    void Cmd_EquipWeapon()
    {
        var weaponObject = Instantiate (Resources.Load ("Gun"),
                                        hand.position,
                                        Quaternion.Euler (0f, 0f, 0f)) as GameObject;

        weaponObject.transform.parent = hand;

        NetworkServer.Spawn (weaponObject);

        //set equipped weapon
        var weapon = weaponObject.GetComponent<Weapon> () as Weapon;

        weaponNetId = weaponObject.GetComponent<NetworkIdentity> ().netId;
        Rpc_SetParentGameobject (weaponNetId);
    }

    [ClientRpc]
    public void Rpc_SetParentGameobject(NetworkInstanceId netID)
    {   
        weaponNetId = netId;
    }

И в обновлении я обновляю трансформацию оружия

    void Update () {

    // set child weapon tranform on clients
    if (!isServer) {
        if (weaponNetId.Value != 0 && !armed) {
            GameObject child = NetworkServer.FindLocalObject (weaponNetId);


            if (child != null) {
                child.transform.parent = hand;
            }
        }
    }

Я знаю, что это не самый оптимизированный способ сделать это ... но сейчас я просто пытаюсь заставить это работать любым возможным способом, а затем работаю над его настройкой. Похоже, это должно быть простой задачей.

Ответы на вопрос(3)

Ваш ответ на вопрос