# Start Tutorial

The Network Playground project is a series of scenes with different features of **coherence** for you to pick through and learn.

They will teach you the fundamentals that should set you on your way to creating a multiplayer game.

## Scenes

Each Scene in this Network Playground Project shows you something new:

* Scene 1. Synchronizing Transforms
* Scene 2. Physics
* Scene 3. Persistence
* Scene 4. Synchronizing Animations and Custom Variables
* Scene 5. AI Navigation
* Scene 6. Commands
* Scene 7. Team based
* Scene 8. Connected Entities

![](https://3798176112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZcBSvjNQZSas5L9C0K8K%2Fuploads%2FZGmJVSYMBcvqpCdjtw6L%2Fezgif.com-gif-maker%20\(7\).gif?alt=media)

Each scene also comes with a few helpful core components.

### Core scene setup

![](https://3798176112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZcBSvjNQZSas5L9C0K8K%2Fuploads%2FDjUYYeh5TpfMAlbYVpRe%2FPlayground_CoreSetup%20\(1\).png?alt=media)

This Prefab stores all the generic things that make up these simple scenes.

* Main Camera
* Global Volume
* Directional Light
* Environment (Ground, Walls, etc.)
* Navigation Interface
  * To move between the scenes without having to enter and exit Play Mode, useful when testing the standalone build.
* Input Manager
  * Input Manager that uses Raycasting to send a message to the GameObject (with a collider) that it hit.

### coherence Setup

![](https://3798176112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZcBSvjNQZSas5L9C0K8K%2Fuploads%2F7PI8x6SU73afS1b3nq53%2FPlayground_CoherenceSetup%20\(1\).png?alt=media)

This Prefab includes all of the things that make **coherence** work.

* Interface
  * Canvas UI that handles Connection/Disconnection dialog and what address to connect.
* Event System
  * Event system to interact with any UI in the scene.
* coherence Live Query
  * Game Object/Component with a query radius that **coherence** uses to ask the server "What is happening in the query radius?" so it does not query unnecessarily big areas of large worlds. You can find more information [here.](https://docs.coherence.io/0.9/api-reference/network-sdk/livequery#livequery)
* coherence Mono Bridge
  * GameObject/Component to transform the Mono based CoherenceSync component to archetypes so all data can be processed as ECS code.

### coherenceSync (on coherence Entity Prefab)

![](https://3798176112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZcBSvjNQZSas5L9C0K8K%2Fuploads%2FNwxUC5SuXZT6fm0MUcSa%2Fcoherencesync_1-2-%20\(1\).png?alt=media)

We use this component on anything that we require to be networked, whether this is a playable character, NPC (non playing character), an object (ball, weapon, banana, car, plant, etc.) or any Game/Input Managers that require to sync data between Clients/Simulators/Servers.

It scans the inspector for attached components and allows us to sync those component values (as long as they are public) and communicate them to other Clients. It also allows us to configure individual Prefabs' persistent, authoritative and network connect/disconnect settings. There's much more information on the [CoherenceSync](https://docs.coherence.io/0.9/api-reference/network-sdk/coherencesync) page.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherence.io/0.9/tutorial-project/network-playground.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
