# UltimateGamepadCursor

## [Public Methods](https://docs.tankandhealerstudio.com/assets/ultimategamepadcursor/documentation/ultimategamepadcursor/public-methods)

{% hint style="warning" %}
**Important Note:** The Ultimate Gamepad Cursor stores the first instance of the cursor for easy reference. This allows you to access all methods, events and properties by using this instance. However, you can also use a direct reference to the cursor if you are using multiple cursors in a single scene.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="238">Method</th><th>Description</th></tr></thead><tbody><tr><td><a href="ultimategamepadcursor/public-methods/enable">Enable</a></td><td>Enables the gamepad cursor so that it can be used.</td></tr><tr><td><a href="ultimategamepadcursor/public-methods/disable">Disable</a></td><td>Disables the gamepad cursor.</td></tr></tbody></table>

## [Events](https://docs.tankandhealerstudio.com/assets/ultimategamepadcursor/documentation/ultimategamepadcursor/events)

<table data-full-width="true"><thead><tr><th width="242">Event</th><th>Description</th></tr></thead><tbody><tr><td><a href="ultimategamepadcursor/events/onhoverobject">OnHoverObject</a></td><td>Called when an object has been hovered.</td></tr><tr><td><a href="ultimategamepadcursor/events/onexitobject">OnExitObject</a></td><td>Called when an object has been exited.</td></tr><tr><td><a href="ultimategamepadcursor/events/oninteract">OnInteract</a></td><td>Called when an object has been interacted with.</td></tr><tr><td><a href="ultimategamepadcursor/events/onenabled">OnEnabled</a></td><td>Called when the cursor has been enabled.</td></tr><tr><td><a href="ultimategamepadcursor/events/ondisabled">OnDisabled</a></td><td>Called when the cursor has been disabled.</td></tr></tbody></table>

## [Properties](https://docs.tankandhealerstudio.com/assets/ultimategamepadcursor/documentation/ultimategamepadcursor/properties)

<table data-full-width="true"><thead><tr><th width="272">Property</th><th>Description</th></tr></thead><tbody><tr><td>Instance</td><td>The current instance of the Ultimate Gamepad Cursor in the scene if there is one. (NOTE: When using multiple gamepad cursors, please use a public reference to the component instead.)</td></tr><tr><td>ParentCanvas</td><td>The parent Canvas component that this object is inside of.</td></tr><tr><td>ParentCanvasTransform</td><td>The RectTransform associated with the parent canvas.</td></tr><tr><td>ParentCanvasRaycaster</td><td>The Graphic Raycaster component attached to the parent canvas.</td></tr><tr><td>BaseTransform</td><td>The base RectTransform component of this object.</td></tr><tr><td>BaseImage</td><td>The base Image component of this object.</td></tr><tr><td>IsEnabled</td><td>Returns the current state of this component being enabled or disabled visually.</td></tr><tr><td>IsOverObject</td><td>Returns true if the cursor is over an object.</td></tr><tr><td>GetButtonDown</td><td>The state of the interact button being pressed this frame.</td></tr><tr><td>GetButtonUp</td><td>The state of the interact button being released this frame.</td></tr><tr><td>GetButton</td><td>The state of the interact button being pressed.</td></tr><tr><td>InputDirection</td><td>The current input value affecting the cursor.</td></tr><tr><td>MoveSpeed</td><td>The pixels per second that the cursor moves when at full speed.</td></tr><tr><td>CurrentMoveSpeedModifier</td><td>Returns the current move speed modifier depending on the transition from default to hovered defined by the user.</td></tr><tr><td>HoveredSpeedModifier</td><td>The modifier for the speed the cursor moves when an object is hovered.</td></tr><tr><td>DefaultColor</td><td>The default color of the base image.</td></tr><tr><td>HoveredColor</td><td>The hovered color of the base image.</td></tr><tr><td>MovementJoystick*</td><td>The movement joystick from the New Input System to use for moving the cursor.</td></tr><tr><td>InteractButton*</td><td>The interact button from the New Input System to use for interacting with objects in the scene.</td></tr><tr><td>HorizontalAxis</td><td>The horizontal axis of Unity input manager to use for the horizontal movement of the cursor.</td></tr><tr><td>VerticalAxis</td><td>The vertical axis of Unity input manager to use for the vertical movement of the cursor.</td></tr><tr><td>InteractButton</td><td>The interact button string value for Unity input manager.</td></tr></tbody></table>

*\*only available when the New Input System is used*

## [Public Classes](https://docs.tankandhealerstudio.com/assets/ultimategamepadcursor/documentation/ultimategamepadcursor/public-classes)

<table data-full-width="true"><thead><tr><th width="208">Class Name</th><th>Description</th></tr></thead><tbody><tr><td><a href="ultimategamepadcursor/public-classes/cursoraction">CursorAction</a></td><td>This class handles all the additional images of the cursor. It has different options for scaling and rotating the images according to the current state of the cursor.</td></tr></tbody></table>
