# Unity Components

### [**CoherenceSync**](/manual/components/coherence-sync.md)

Any GameObject that needs to be synchronized over the network needs to have a `CoherenceSync`. It defines a network entity, and what data to sync from its GameObject. In addition, [Commands](/manual/networking-state-changes/commands.md) are sent to and from `CoherenceSync` components.

### [**CoherenceBridge**](/manual/components/coherence-bridge.md)

Handles the connection between the coherence transport layer and the Unity scene. It is necessary to have a `CoherenceBridge` to be able to connect.

### [**CoherenceLiveQuery**](/manual/components/coherence-live-query.md)**,** [**CoherenceTagQuery**](/manual/components/coherence-tag-query.md)**, and** [**CoherenceGlobalQuery**](/manual/components/coherenceglobalquery.md)

A tool to optimise network traffic, a Live Query specifies an area of interest that is unique to each Client, so that each Client (or Simulator) only receives data that is relevant to them. If the World was very large, the Live Query could be attached to the playable character or camera and move with them, determining a moving area of interest.

It is necessary to have at least one Live Query in the scene.

Tag Queries offer the same kind of traffic-filtering behaviour, but they do it based on a tag rather than according to distance.

Global queries allow filtering of global data which is currently only the [ClientConnection ](/manual/client-connections.md)entities.

### [CoherenceInput](#coherenceinput)

Enables a Simulator to take control of the state authority of a Client's `CoherenceSync`, while the Client retains input authority. This component is added by `CoherenceSync` in [server-authoritative setups](/manual/authority/server-authoritative-setup.md).

### [CoherenceNode](/manual/components/coherence-node.md) and [PrefabSyncGroup](/manual/components/prefab-sync-group.md)

These two components are used when parenting entities (one is for runtime, the other for edit-time). You can find much more information on their specifics in the [Parenting](/manual/parenting-network-entities.md) section.

{% hint style="info" %}
To get a feel for how these components function, try the [First Steps](https://coherence.io/games/coherence/first-steps-tutorial) interactive demo.

And don't forget to have a look at the [Basic Syncing](/getting-started/samples-and-tutorials/first-steps-tutorial/1-basic-syncing.md) explanations.
{% endhint %}


---

# 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/manual/components.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.
