# CoherenceInput

`CoherenceInput` is a component that enables a [Simulator](/1.2.4/manual/simulation-server.md) to take control of a Client's entities, based on the Client's inputs. It is an essential piece of a [server-authoritative setup](/1.2.4/manual/authority/server-authoritative-setup.md).

When you select *Server Side with Client Input* in the *Simulate In* option on a `CoherenceSync`, coherence will add a `CoherenceInput` component to the entity.

From this point on, **the authority on this entity is split**: a Client has Input authority, while a Simulator will have State authority. This means that the Client is not fully in control of the entity, but only has the license to send inputs to a Simulator. The Simulator in turn will process these inputs, elaborate new state, and send it to the Client who can now display the results.

Because of this round-trip, there will always be a delay between the player's inputs and what they see on screen. To make the game more reactive, you might need to implement prediction.

{% hint style="info" %}
For more information on how to setup and configure inputs for a `CoherenceInput` component, refer to the [server-authoritative setup](/1.2.4/manual/authority/server-authoritative-setup.md) page.
{% 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/1.2.4/manual/components/coherenceinput.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.
