- Home /
Multiplayer Networking
So, I should better explain my intention. I've build a silly 3D game just for testing some multiplayer concepts. (Note:Yesterday I followed the Unite 2014 Networking tutorial of Shawn Rilley ,the one wih the space shooter 2d. )
Well, I've built a plain with a ball player where the main target is to collide with some balls. I try to play it in two players using the Networking where the just have to do this silly thing. By pressing Space I want to instantiate a prefab which can be taken by both players. The players move separatelly, but the prefab does not instantiate at both players. It can only be seen by the host but that's interesting because the other one can collide with him.
I'm using Unity 5.1.2 ,though i Could figure out how to build the NetworkManager and all the other components. I registered the prefab . Here is my script: public float speed=15f; public GameObject go; void Start () { rb = GetComponent (); }
void Update()
{
if (!isLocalPlayer)
return;
if (Input.GetKeyDown (KeyCode.Space))
CmdSpawning ();
}
void FixedUpdate ()
{
if (!isLocalPlayer)
return;
float h = Input.GetAxis ("Horizontal");
float v=Input.GetAxis("Vertical");
rb.velocity = new Vector3 (h, 0f, v) * speed;
}
[Command]
void CmdSpawning()
{
Instantiate(go,new Vector3(Random.Range(-5,5),1f,Random.Range(-5,5)),Quaternion.identity);
NetworkServer.Spawn (go);
}
Please tell me what's wrong.
Answer by seanr · Aug 26, 2015 at 07:46 PM
Instantiate() returns a new game object. pass that to NetworkServer.Spawn().
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Unet spawn a camera? 0 Answers
Sequencing Spawning for Multiplayer 1 Answer
Trying to spawn players in multiple starting positions 1 Answer