# (v0.50) DOTS Tutorial - Build a Multiplayer AR app

## (v0.50) DOTS Tutorial - Build a Multiplayer AR app

- [What is the Purpose of this DOTS Tutorial?](https://dots-tutorial.moetsi.com/master.md): This is a sample project that demonstrates how to create a multiplayer AR experience using Unity's DOTS. We include full workflows, code, GIFs and also share links to external resources.
- [Important Notes For Using This Gitbook](https://dots-tutorial.moetsi.com/important-notes-for-using-this-gitbook.md): Some things to keep in mind as you code along.
- [Intro to Unity ECS](https://dots-tutorial.moetsi.com/unity-ecs/intro-to-unity-ecs.md): This gitbook explains "how" to implement ECS in Unity. It does not explain "what" ECS is, but we make sure to provide links to external resources throughout the gitbook that explain the "what."
- [Create a Unity ECS Project](https://dots-tutorial.moetsi.com/unity-ecs/create-a-unity-ecs-project.md): Full workflows and code to set up an ECS project with the latest Unity Editor and compatible package versions
- [Spawn and Move Prefabs](https://dots-tutorial.moetsi.com/unity-ecs/spawn-and-move-prefabs-in-unity-ecs.md): Full workflows and code to programmatically spawn, update, and destroy prefab entities
- [Spawn and Move Players](https://dots-tutorial.moetsi.com/unity-ecs/spawn-and-move-players-in-unity-ecs.md): Full workflows and code to spawn and move Player from user input
- [Spawn Bullets and Destroy Player](https://dots-tutorial.moetsi.com/unity-ecs/spawn-bullets-and-destroy-player-in-unity-ecs.md): Full workflows and code to spawn bullets and self-destruct Player
- [Publish Builds in Unity ECS](https://dots-tutorial.moetsi.com/unity-ecs/publish-builds-in-unity-ecs.md): Workflow for deploying project using Unity's new Build Configurations
- [Intro to Unity DOTS Physics](https://dots-tutorial.moetsi.com/unity-dots-physics/intro-to-unity-dots-physics.md): Full workflows and code on how to get started with Unity DOTS Physics
- [Use DOTS Physics for Prefabs, Players, and Bullets](https://dots-tutorial.moetsi.com/unity-dots-physics/use-dots-physics-for-prefabs-players-and-bullets-in-unity-ecs.md): Workflows and code to update previous ECS section to use DOTS Physics
- [Use DOTS Physics for Collisions](https://dots-tutorial.moetsi.com/unity-dots-physics/use-dots-physics-for-collisions.md): Code and workflows to update collisions that change material and destroy prefab entities using DOTS Physics
- [Intro to DOTS NetCode](https://dots-tutorial.moetsi.com/dots-netcode/intro-to-dots-netcode.md): Full workflows and code on how to get started with Unity's DOTS NetCode
- [Create a Network Connection using DOTS NetCode](https://dots-tutorial.moetsi.com/dots-netcode/create-a-network-connection-using-dots-netcode.md): Workflows and code to create a server/client socket connection using NetCode
- [Load a Game using DOTS NetCode](https://dots-tutorial.moetsi.com/dots-netcode/load-a-game-using-dots-netcode.md): Code and workflow to send server game data to client and have the client confirm loading the data
- [DOTS NetCode and Prefabs](https://dots-tutorial.moetsi.com/dots-netcode/dots-netcode-and-prefabs.md): Code and workflows to turn asteroid entity prefabs into NetCode "ghosts"
- [DOTS NetCode and Player Prefabs](https://dots-tutorial.moetsi.com/dots-netcode/dots-netcode-and-player-prefabs-in-unity-ecs.md): Code and workflows to turn the Player prefab into a NetCode ghost and spawn Thin Clients
- [Use DOTS NetCode for Collisions and Destroying Bullet Prefabs](https://dots-tutorial.moetsi.com/dots-netcode/use-dots-netcode-for-collisions-and-to-destroy-bullet-prefabs.md): Code and workflows to spawn ghosted bullets and update to server-side destruction
- [Dynamically Changing Ghosts Between Interpolated and Predicted](https://dots-tutorial.moetsi.com/dots-netcode/dynamically-changing-ghosts-between-interpolated-and-predicted.md): Code and workflows to update ghosts between interpolated and predicted
- [Intro to UI Toolkit](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/intro-to-ui-toolkit-in-unity-ecs.md): Code and workflows on how to use UI Builder and UI Toolkit from scratch
- [Create a ScreenManager](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/create-a-screenmanager-in-unity-ui-builder.md): Code and workflows for navigate between different views using UI Builder and UI Toolkit
- [Style a View](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/style-a-view-in-unity-ui-builder.md): Code and workflows to style the Project title screen with UI Builder
- [Create a ListView](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/create-a-list-view-in-unity-ui-builder.md): Code and workflows for creating a dynamic UI ListView in UI Builder
- [Responsive Game UI](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/responsive-game-ui-in-unity-ecs.md): Code and workflow to make a responsive game UI in UI Builder
- [Navigate Between Scenes Using ClientServerBootstrap](https://dots-tutorial.moetsi.com/ui-builder-and-ui-toolkit/navigate-between-scenes-unity-ui-builder.md): Code and workflows to navigate between NavigationScene and MainScene using UI buttons
- [Intro to Unity NetCode Multiplayer](https://dots-tutorial.moetsi.com/multiplayer/intro-to-unity-netcode-multiplayer.md): Code and workflows to find/create/join/leave LAN games with authoritative scorekeeping
- [Host or Join a Multiplayer Session on LAN](https://dots-tutorial.moetsi.com/multiplayer/host-or-join-a-multiplayer-session-on-lan-unity-netcode.md): Code and workflows for hosting and/or joining a multiplayer session on LAN, and gracefully handling hosts/clients leaving
- [Broadcast a LAN Multiplayer Game](https://dots-tutorial.moetsi.com/multiplayer/broadcast-a-multiplayer-game-in-netcode.md): Code and workflows to send and receive broadcast packets to join multiplayer sessions
- [Keep Score and Update Game UI](https://dots-tutorial.moetsi.com/multiplayer/keep-score-with-dots-netcode.md): Code and workflows to keep score between players in a multiplayer game on a LAN
- [Send Ghosts with NetCode Using Relevancy](https://dots-tutorial.moetsi.com/multiplayer/send-ghosts-with-dots-netcode.md): Code and workflows to send ghosts and clean up logs using GhostRelevancyMode
- [Intro to AR Foundation](https://dots-tutorial.moetsi.com/ar-foundation/intro-to-ar-foundation.md): Code and workflows to integrate AR Foundation into your desktop build
- [Set Up AR Foundation and ARKit](https://dots-tutorial.moetsi.com/ar-foundation/set-up-ar-foundation-and-arkit.md): Code and workflows to implement AR Foundation and ARKit in your project to create an AR build
- [Spawn a Player using AR Foundation](https://dots-tutorial.moetsi.com/ar-foundation/spawn-a-player-using-ar-foundation.md): Code and workflows for using AR Foundation to spawn an AR Player
- [Update UI using AR Foundation](https://dots-tutorial.moetsi.com/ar-foundation/update-ui-using-ar-foundation.md): Code and workflows to optimize and update the UI in our AR enabled project
