Question by 
               DaUr3 · Dec 16, 2017 at 01:54 AM · 
                networkingprefabmultiplayerprogramming  
              
 
              Unity Network Spawning Prefabs
I don't know what is going on here, and this might just be a stupid question, but I could find anything about this anywhere (Then again I'm pretty bad at finding things).
I am trying to instantiate a bullet into a networked scene, but for some reason, if I run something as simple as:
 void Update () {
         if (dead) {
             return;
         }
         //Commands (GET SHOOT TO WORK)
         if (Input.GetKeyDown(KeyCode.Space)) {
             CmdFire();
         }
         //Non-Commands, no need to make it a Command because values are synced Network Transform
         movement ();
         aim ();
 
     }
         
     [Command]
     private void CmdFire()
     {
         if (!isLocalPlayer) {
             return;
         }
         // Create an instance of the shell and store a reference to it's rigidbody.
         GameObject shellInstance = Instantiate(bulletPrefab, aimTransform.position, turret.transform.rotation);
             //Aim is a empty game object attached to the player prefab and so it turret.
 
         NetworkServer.Spawn(shellInstance);
     }
It doesn't work and gives me the error: Trying to send command for object without authority. The bullet prefab is added to the Network Manager, it has a Network ID without any of the options ticked and it has a Network Transform.
The funny thing is that if I run:
 [Command]
     private void CmdFire()
     {
         // Create an instance of the shell and store a reference to it's rigidbody.
         Rigidbody shellInstance =
              Instantiate(bulletPrefab, aimTransform.position, turret.transform.rotation).getComponent<RigidBody>();
 
         // Create a velocity that is the tank's velocity and the launch force in the fire position's forward direction.
         Vector3 velocity = -aimTransform.position * 5;
 
         // Set the shell's velocity to this velocity.
         shellInstance.velocity = velocity;
 
         NetworkServer.Spawn(shellInstance.gameObject);
     }
It works perfectly fine. What the heck is going on? What part am I instantiating wrong?
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                