Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  4. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Basic GameObject Spawn using Server not working

Discussion in 'Connected Games' started by unity_Y9-Qu4dmill45A, Jul 13, 2018.

  1. unity_Y9-Qu4dmill45A

    unity_Y9-Qu4dmill45A

    Joined:
    Jun 4, 2018
    Posts:
    18
    Hi,

    I'm currently Following this tutorial about Multiplayer Networking : https://unity3d.com/fr/learn/tutorials/s/multiplayer-networking

    I have an issue with spell instantiation.

    In my game I have two Hero, in the script that manages Hero casting spell, I check if isLocalPlayer,
    and if player use F key, this function is called with right parameters :

    Code (CSharp):
    1.     // This [Command] code is called on the Client …
    2.     // … but it is run on the Server!
    3.     [Command]
    4.     void CmdFireball(int dX, int dY)
    5.     {
    6.         // On instancie une boule de feu en lui passant les parametres necessaires
    7.         GameObject fireball = (GameObject)Instantiate(fireSpell, new Vector3(transform.position.x + dX * distanceFromHeroX, transform.position.y + dY * distanceFromHeroY), new Quaternion());
    8.         fireball.GetComponent<SpellMovement>().SetDirection(dX, dY);
    9.         fireball.transform.GetChild(0).GetComponent<SpellExplosion>().SetParameters(this, fireSpellDamages, fireEffectDamages, SpellType.Fire);
    10.  
    11.         NetworkServer.Spawn(fireball);
    12.     }
    NetworkManager has firespell prefab in Spawnable Prefabs.
    My Firespell prefab has a Network Identity without box checked, a Network Transform, my hero too.

    Firespell instantiation is done and move correctly on server application, on client application firespell is instantiating but not moving, a problem with SetDirection function…?

    Thank you in advance for any answer. :)
     
  2. unity_Y9-Qu4dmill45A

    unity_Y9-Qu4dmill45A

    Joined:
    Jun 4, 2018
    Posts:
    18
    I think I found the solution. Fields I set with SetDirection function need to be [SyncVar].