> For the complete documentation index, see [llms.txt](https://travljen.gitbook.io/unit-formation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://travljen.gitbook.io/unit-formation/how-it-works/input.md).

# Input

Input is required for unit placement to work.&#x20;

## Provided components

Choose which of the components suits your project setup:

* **Option A:&#x20;**<mark style="color:blue;">**ActionInputControl**</mark> is using **Unity's new Input System**.
* **Option B:&#x20;**<mark style="color:blue;">**KeyInputControl**</mark> is using **Unity's old Input**.

By default it handles mouse right button press and release events, along with current mouse position. On both provided components you can select which button will trigger placement.

*Touch screen is not yet supported of out the box. To add it read further.*

## Customisation

You can customise input for your project or extend your existing input class by using the provided <mark style="color:blue;">**IInputControl**</mark> interface. This can be done by creating standalone MonoBehaviour using <mark style="color:blue;">**AInputControl**</mark> directly, which is also used by the provided input control components.&#x20;

Once your own component has been added to the scene, connect it with <mark style="color:blue;">**UnitPlacement**</mark> component and you're done!
