From Unify Community Wiki
Revision as of 18:52, 3 July 2015 by Tenebrous (Talk | contribs)

Jump to: navigation, search



Tutorials (video)

Unite 2014 (Aug. 27) - New Unity Networking in 5.x

UNET Part 1 - Setup and Movement Syncing (parts 2, 3, and 4 linked from video)

Unite 2015 (June 24th) - UNET example (Tanks demo) <- should be put on asset store soon

Unity 5 UNET Multiplayer Tutorials - Making a basic survival co-op

Unity’s demo projects

http://forum.unity3d.com/threads/unet-sample-projects.331978/ (← Network starter is nice, also scroll a little down to find transport layer demo; also note the comment by Evil Otaku if you are having issues connecting with iOS, Android or WP8)

Other info

https://www.assetstore.unity3d.com/en/#!/content/40756 Unity 5 Survival Shooter (NOT UNET)

Architecture Ideas


Known issues & workarounds

Example from http://docs.unity3d.com/Manual/UNetInternetServicesOverview.html does not work:


// This seems to be occasionally required for online matchmaking // This is your 5-digit project UNET ID at multiplayer.unity3d.com // This is due to be fixed in an upcoming patch release (was not in 5.1.1p3) void Awake() { PlayerPrefs.SetString( "CloudNetworkingId", "12345" ); }


// ClientRpc is called on the server - invokes on clients [ClientRpc] public void RpcMyMethod( string msg ) { Debug.Log( "Got message from the server: " + msg ); }

// Commands are called on clients - invokes on the server // Note that you can only send commands if you own the object it calls from [Command] public void CmdMyMethod( string msg ) { Debug.Log( "Got message from a client: " + msg ); }

// SyncVars are automatically sent from the server to other clients. // Note that you still need a command to notify the server of the change // if it comes from a client. Hook is optional [SyncVar(hook="OnSomeoneChangedMyString")] public string myString;

public void OnSomeoneChangedMyString( string myString ) { this.myString = myString; Debug.Log( "Changed myString to " + myString ); }

Personal tools