├── .gitignore ├── Assets ├── Materials.meta ├── Materials │ ├── Black.mat │ └── Black.mat.meta ├── Prefabs.meta ├── Prefabs │ ├── Bullet.prefab │ ├── Bullet.prefab.meta │ ├── Enemy.prefab │ ├── Enemy.prefab.meta │ ├── Player.prefab │ └── Player.prefab.meta ├── Scenes.meta ├── Scenes │ ├── Main.unity │ └── Main.unity.meta ├── Scripts.meta └── Scripts │ ├── BillBoard.cs │ ├── BillBoard.cs.meta │ ├── Bullet.cs │ ├── Bullet.cs.meta │ ├── EnemySpawner.cs │ ├── EnemySpawner.cs.meta │ ├── Health.cs │ ├── Health.cs.meta │ ├── PlayerController.cs │ └── PlayerController.cs.meta ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── XRSettings.asset ├── README.md └── doc ├── client-1.png ├── client-2.png ├── client-3.png ├── server-1.png ├── server-2.png ├── server-3.png └── unet-deprecated.png /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Autogenerated VS/MD solution and project files 9 | ExportedObj/ 10 | *.csproj 11 | *.unityproj 12 | *.sln 13 | *.suo 14 | *.tmp 15 | *.user 16 | *.userprefs 17 | *.pidb 18 | *.booproj 19 | *.svd 20 | 21 | 22 | # Unity3D generated meta files 23 | *.pidb.meta 24 | 25 | # Unity3D Generated File On Crash Reports 26 | sysinfo.txt 27 | 28 | # Builds 29 | *.apk 30 | *.unitypackage 31 | 32 | Logs/ 33 | 34 | .vs 35 | -------------------------------------------------------------------------------- /Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4dc71212292c941d68c6ecf334538b3a 3 | folderAsset: yes 4 | timeCreated: 1487993482 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Materials/Black.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/Assets/Materials/Black.mat -------------------------------------------------------------------------------- /Assets/Materials/Black.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96f8de9d6c4614d56b3991cb77e09cb2 3 | timeCreated: 1487993623 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c18d0a3901a8e483999e525bae2ea44f 3 | folderAsset: yes 4 | timeCreated: 1487993491 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Prefabs/Bullet.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/Assets/Prefabs/Bullet.prefab -------------------------------------------------------------------------------- /Assets/Prefabs/Bullet.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 058c0608ac15c42cdb5d0fda427db27b 3 | timeCreated: 1487995295 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs/Enemy.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/Assets/Prefabs/Enemy.prefab -------------------------------------------------------------------------------- /Assets/Prefabs/Enemy.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e25f56a64e1134e17a67ad8b0aab3f2a 3 | timeCreated: 1488000834 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs/Player.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/Assets/Prefabs/Player.prefab -------------------------------------------------------------------------------- /Assets/Prefabs/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4cbe0214e0fa409e9317b25c2c15a5c 3 | timeCreated: 1487993711 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08f7f7e6b02c34cfab4310f6c8987f4f 3 | folderAsset: yes 4 | timeCreated: 1487993505 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scenes/Main.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/Assets/Scenes/Main.unity -------------------------------------------------------------------------------- /Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9c44c9ff813242c3888f539a9c62905 3 | timeCreated: 1487991930 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a82b7776affa74797928c5f7d5707c09 3 | folderAsset: yes 4 | timeCreated: 1487993512 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/BillBoard.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class BillBoard : MonoBehaviour { 4 | 5 | // Update is called once per frame 6 | void Update () { 7 | transform.LookAt (Camera.main.transform); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Scripts/BillBoard.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 798123e17e73041ed872e61f0bc56f91 3 | timeCreated: 1487997597 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Bullet.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class Bullet : MonoBehaviour { 4 | 5 | void OnCollisionEnter(Collision collison){ 6 | 7 | GameObject hit = collison.gameObject; 8 | Health health = hit.GetComponent (); 9 | if (health != null) { 10 | health.TakeDamage (10); 11 | } 12 | Destroy (gameObject); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Scripts/Bullet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f5ebf8904e8c4adda4030aa29b9e2c3 3 | timeCreated: 1487996326 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/EnemySpawner.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Networking; 3 | 4 | public class EnemySpawner : NetworkBehaviour { 5 | public GameObject enemyPrefab; 6 | public int numberOfEnemies; 7 | 8 | public override void OnStartServer(){ 9 | for (int i = 0; i < numberOfEnemies; i++) { 10 | Vector3 spawnPosition = new Vector3 (Random.Range (-8.0f, 8.0f), 0.0f, Random.Range (-8.0f, 8.0f)); 11 | Quaternion spawnRotation = Quaternion.Euler (0.0f, Random.Range (0.0f, 180.0f), 0); 12 | GameObject enemy = (GameObject)Instantiate (enemyPrefab, spawnPosition, spawnRotation); 13 | NetworkServer.Spawn (enemy); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Scripts/EnemySpawner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e39b10b600ba4973b7e45ec6eac3e2f 3 | timeCreated: 1487998728 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Health.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Networking; 3 | 4 | public class Health : NetworkBehaviour 5 | { 6 | 7 | public const int maxHeath = 100; 8 | [SyncVar(hook = "OnChangeHealth")] public int currentHealth = maxHeath; 9 | 10 | public RectTransform healthBar; 11 | 12 | public bool destroyOnDeath; 13 | 14 | private NetworkStartPosition[] spawnPoints; 15 | 16 | void Start() 17 | { 18 | if (isLocalPlayer) 19 | { 20 | spawnPoints = FindObjectsOfType(); 21 | } 22 | } 23 | 24 | public void TakeDamage(int amount) 25 | { 26 | 27 | if (!isServer) 28 | { 29 | return; 30 | } 31 | 32 | currentHealth -= amount; 33 | 34 | if (currentHealth <= 0) 35 | { 36 | 37 | if (destroyOnDeath) 38 | { 39 | Destroy(gameObject); 40 | } 41 | else 42 | { 43 | currentHealth = maxHeath; 44 | RpcRespawn(); 45 | } 46 | 47 | } 48 | 49 | } 50 | 51 | 52 | void OnChangeHealth(int health) 53 | { 54 | healthBar.sizeDelta = new Vector2(health * 2, healthBar.sizeDelta.y); 55 | } 56 | 57 | [ClientRpc] 58 | void RpcRespawn() 59 | { 60 | if (isLocalPlayer) 61 | { 62 | 63 | Vector3 spawnPoint = Vector3.zero; 64 | if (spawnPoints != null && spawnPoints.Length > 0) 65 | { 66 | spawnPoint = spawnPoints[Random.Range(0, spawnPoints.Length)].transform.position; 67 | } 68 | 69 | transform.position = spawnPoint; 70 | } 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /Assets/Scripts/Health.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cd8b188992b54e7c8b3389d0bef3e41 3 | timeCreated: 1487996703 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/PlayerController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Networking; 3 | 4 | public class PlayerController : NetworkBehaviour 5 | { 6 | 7 | public GameObject bulletPrefab; 8 | public Transform bulletSpawn; 9 | 10 | // Update is called once per frame 11 | void Update() 12 | { 13 | 14 | if (!isLocalPlayer) 15 | { 16 | return; 17 | } 18 | 19 | float x = Input.GetAxis("Horizontal") * Time.deltaTime * 150.0f; 20 | float z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f; 21 | transform.Rotate(0, x, 0); 22 | transform.Translate(0, 0, z); 23 | 24 | if (Input.GetKeyDown(KeyCode.Space)) 25 | { 26 | CmdFire(); 27 | } 28 | 29 | } 30 | 31 | [Command] 32 | public void CmdFire() 33 | { 34 | GameObject bullet = (GameObject)Instantiate(bulletPrefab, bulletSpawn.position, bulletSpawn.rotation); 35 | bullet.GetComponent().velocity = bullet.transform.forward * 6.0f; 36 | 37 | // Spawn the bullet on the client 38 | NetworkServer.Spawn(bullet); 39 | 40 | Destroy(bullet, 2f); 41 | } 42 | 43 | public override void OnStartLocalPlayer() 44 | { 45 | GetComponent().material.color = Color.blue; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /Assets/Scripts/PlayerController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b926fb7392b954530a29ece7e976c315 3 | timeCreated: 1487994186 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.3.2", 5 | "com.unity.collab-proxy": "1.2.16", 6 | "com.unity.multiplayer-hlapi": "1.0.2", 7 | "com.unity.package-manager-ui": "2.1.2", 8 | "com.unity.purchasing": "2.0.6", 9 | "com.unity.textmeshpro": "2.0.0", 10 | "com.unity.timeline": "1.0.0", 11 | "com.unity.modules.ai": "1.0.0", 12 | "com.unity.modules.animation": "1.0.0", 13 | "com.unity.modules.assetbundle": "1.0.0", 14 | "com.unity.modules.audio": "1.0.0", 15 | "com.unity.modules.cloth": "1.0.0", 16 | "com.unity.modules.director": "1.0.0", 17 | "com.unity.modules.imageconversion": "1.0.0", 18 | "com.unity.modules.imgui": "1.0.0", 19 | "com.unity.modules.jsonserialize": "1.0.0", 20 | "com.unity.modules.particlesystem": "1.0.0", 21 | "com.unity.modules.physics": "1.0.0", 22 | "com.unity.modules.physics2d": "1.0.0", 23 | "com.unity.modules.screencapture": "1.0.0", 24 | "com.unity.modules.terrain": "1.0.0", 25 | "com.unity.modules.terrainphysics": "1.0.0", 26 | "com.unity.modules.tilemap": "1.0.0", 27 | "com.unity.modules.ui": "1.0.0", 28 | "com.unity.modules.uielements": "1.0.0", 29 | "com.unity.modules.umbra": "1.0.0", 30 | "com.unity.modules.unityanalytics": "1.0.0", 31 | "com.unity.modules.unitywebrequest": "1.0.0", 32 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 33 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 34 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 35 | "com.unity.modules.unitywebrequestwww": "1.0.0", 36 | "com.unity.modules.vehicles": "1.0.0", 37 | "com.unity.modules.video": "1.0.0", 38 | "com.unity.modules.vr": "1.0.0", 39 | "com.unity.modules.wind": "1.0.0", 40 | "com.unity.modules.xr": "1.0.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/PresetManager.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.1.0f2 2 | m_EditorVersionWithRevision: 2019.1.0f2 (292b93d75a2c) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/ProjectSettings/VFXManager.asset -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity Simple Multiplayer using UNET 2 | 3 | Result of the following tutorial 4 | [Simple Multiplayer Game - Unity 5.3](https://www.youtube.com/playlist?list=PLwyZdDTyvucw5JhBMJxFwsYc1EbQYxr0G) 5 | 6 | # Pre requirements 7 | 8 | 1. Unity 2019.2.0a11+ 9 | 10 | # How to Play 11 | 12 | Open the **Main** Scene on Unity at 13 | 14 | ``` 15 | Scenes/Main 16 | ``` 17 | 18 | Server 19 | 20 | ``` 21 | File > Run & Build 22 | ``` 23 | 24 | At **Build/Build.app** 25 | 26 | ![](doc/server-1.png) 27 | 28 | Click on LAN Host 29 | 30 | ![](doc/server-2.png) 31 | 32 | Running at 7777 33 | 34 | ![](doc/server-3.png) 35 | 36 | 37 | Client 38 | 39 | ``` 40 | Play 41 | ``` 42 | 43 | ![](doc/client-1.png) 44 | 45 | LAN Client 46 | 47 | ![](doc/client-2.png) 48 | 49 | Running at 7777 50 | 51 | ![](doc/client-3.png) 52 | 53 | 54 | UNET will be removed in 2021. 55 | 56 | ![](doc/unet-deprecated.png) 57 | 58 | [FAQ](https://support.unity3d.com/hc/en-us/articles/360001252086-UNet-Deprecation-FAQ) 59 | 60 | 61 | # Reference 62 | 63 | 1. [Simple Multiplayer Game](https://unity3d.com/learn/tutorials/topics/multiplayer-networking/simple-game-summary?playlist=29690) 64 | 2. [Tutorial : Simple Multiplayer Game - Unity 5.3](https://www.youtube.com/playlist?list=PLwyZdDTyvucw5JhBMJxFwsYc1EbQYxr0G) 65 | -------------------------------------------------------------------------------- /doc/client-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/client-1.png -------------------------------------------------------------------------------- /doc/client-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/client-2.png -------------------------------------------------------------------------------- /doc/client-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/client-3.png -------------------------------------------------------------------------------- /doc/server-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/server-1.png -------------------------------------------------------------------------------- /doc/server-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/server-2.png -------------------------------------------------------------------------------- /doc/server-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/server-3.png -------------------------------------------------------------------------------- /doc/unet-deprecated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humbertodias/unity-simple-multiplayer/6eb9e945a237eb5c6302b029f2575dd4dba12779/doc/unet-deprecated.png --------------------------------------------------------------------------------