> For the complete documentation index, see [llms.txt](https://solo-player.gitbook.io/most-in-one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://solo-player.gitbook.io/most-in-one/most-systems/most-aim.md).

# MOST Aim

<mark style="color:purple;">BE UPDATED SOON...</mark>

{% hint style="info" %}

* <mark style="color:blue;">**This System requires an Input Controller to receive commands (MOST Controller or any other input system)**</mark>
* <mark style="color:blue;">**All examples in MOST IN ONE use MOST Controller as the input source.**</mark>
* <mark style="color:blue;">**It's much better this way to be easier to modify, and if you want to use another Input system instead of MOST Controller.**</mark>
* <mark style="color:blue;">**You will find the "Input Getter" section inside the .cs file contains all functions that receive input commands for this system. Check the API.**</mark>
  {% endhint %}

## <mark style="color:red;">API reference</mark>

{% hint style="success" %} <mark style="color:green;">**All public properties can be updated at runtime, and the changes will be set immediately.**</mark>
{% endhint %}

```csharp

// Functions
// main behavior enables or disables the system
Most_Aim.EnableState(bool Enable);

__________________ Activate/Start __________________
// Start Aiming function, call it to enable/start moving
// OnInputDetected() Call it if the input doesn't provide direction yet
// example.. when touching the screen without moving the finger... On Touch began only
// This function will start aiming towards the character's current rotation
Most_Aim.OnInputDetected();

// OnExeedMinRange() Call it if the input already provides direction
// This function will start aiming toward the input direction
Most_Aim.OnExeedMinRange(Vector2 direction);

// You have to call one of these functions to start aiming

__________________ Direction Update __________________
// Call it to update the aim direction // on direction updated
// OnInputUpdated() Uses the absolute value of the input direction, magnitude equal to 1
Most_Aim.OnInputUpdated(Vector2 direction);

// OnRawValueUpdated() Uses the magnitude value of the input direction, magnitude from 0 to 1
Most_Aim.OnRawValueUpdated(Vector2 direction);

// There are a lot uof se cases for each one of these update functions
// see MOST Controller and MOST Aim examples

__________________ On Stop Aiming __________________
// the default value for exceed = false
Most_Aim.OnInputReleased([Optional] bool exceed);
// Call it to stop the aim system // on release

__________________ AutoAim Control __________________

// enables or disables the AutoAim system
Most_Aim.AutoAimControl(bool enable);

//_______________________________________________________________//

// ReadOnly variable... Check if the Move system is active or not
Most_Aim.Enable; return bool

MOST_Aim properties and attributes vary depending on the selected aim type and ray system
You will find all of it inside MOST_Aim.cs
```
