Hi everyone! I'm new at unity and I'm developing a multiplayer game, and I have some issues. When my character shoots on the server(host) the bullet spawns on the correct spot, with the correct velocity. But when my character shoots on the client the bullet doesn't spawn on the correct spot, and it hasn't got any velocity. The script is: Code (CSharp): using UnityEngine; using UnityEngine.Networking; public class playerControl : NetworkBehaviour { private float x, y; public GameObject bulletPrefab; void Update () { //this section controls the player if (!isLocalPlayer) return; GetComponent<Rigidbody2D>().angularVelocity = 0; GetComponent<Rigidbody2D>().velocity = new Vector2 (0,0); x = (float)Mathf.Cos((transform.eulerAngles.z + 90) / 57.29578f); y = (float)Mathf.Sin((transform.eulerAngles.z + 90) / 57.29578f); if (Input.GetAxisRaw("Go") > 0) { GetComponent<Rigidbody2D>().velocity = new Vector2 (x * 7,y * 7); } if (Input.GetAxisRaw("Go") < 0) { GetComponent<Rigidbody2D>().velocity = new Vector2 (-x * 7,-y * 7); } if (Input.GetAxisRaw("Turn") < 0) { GetComponent<Rigidbody2D>().angularVelocity = 130; if (Input.GetAxisRaw("Go") < 0) GetComponent<Rigidbody2D>().angularVelocity = -130; } if (Input.GetAxisRaw("Turn") > 0) { GetComponent<Rigidbody2D>().angularVelocity = -130; if (Input.GetAxisRaw("Go") < 0) GetComponent<Rigidbody2D>().angularVelocity = 130; } //this section controls the shooting if (Input.GetAxisRaw ("Fire") != 0) { CmdFire (); } } [Command] void CmdFire() { var bullet = (GameObject)Instantiate (bulletPrefab, transform.position + new Vector3(x,y,0) * 1.0309f, Quaternion.identity); bullet.GetComponent<Rigidbody2D> ().velocity = new Vector2(x * 20,y * 20); NetworkServer.Spawn (bullet); Destroy (bullet, 10); } //this section controls the local player color public override void OnStartLocalPlayer() { GetComponent<SpriteRenderer> ().color = Color.green; } } Don't mind the controling and the color changeing part. How can I fix this? Sorry for my bad english.