> For the complete documentation index, see [llms.txt](https://vc-docs.gitbook.io/engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vc-docs.gitbook.io/engine/home/doxygen_synced/files/_javascript_a_p_i_8cs.md).

# Source/JavascriptAPI.cs

## Classes

|       | Name                                                                                                                                |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------- |
| class | [**VREvents**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_v_r_events.md)                   |
| class | [**DatabaseData**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_database_data.md)            |
| class | [**Logging**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_logging.md)                       |
| class | [**PlatformDetection**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_platform_detection.md)  |
| class | [**GameObject**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_game_object.md)                |
| class | [**TMPro**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_t_m_pro.md)                         |
| class | [**RectTransform**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_rect_transform.md)          |
| class | [**UI**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_u_i.md)                                |
| class | [**LineRenderer**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_line_renderer.md)            |
| class | [**Renderer**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_renderer.md)                     |
| class | [**Collider**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_collider.md)                     |
| class | [**Rigidbody**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_rigidbody.md)                   |
| class | [**Physics**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_physics.md)                       |
| class | [**JintObject**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_jint_object.md)                |
| class | [**JintBE**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_jint_b_e.md)                       |
| class | [**File**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_file.md)                             |
| class | [**EPESerializeData**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_e_p_e_serialize_data.md) |
| class | [**PVCalculations**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_p_v_calculations.md)       |
| class | [**LobbyManager**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_lobby_manager.md)            |
| class | [**PVData**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_p_v_data.md)                       |
| class | [**ChartGen**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_chart_gen.md)                    |
| class | [**LLOS\_API**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_l_l_o_s__a_p_i.md)              |
| class | [**PDFGen**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_p_d_f_gen.md)                      |
| class | [**LiveData**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_live_data.md)                    |
| class | [**WebSocket**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_web_socket.md)                  |
| class | [**Camera**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_camera.md)                         |
| class | [**RenderPlayer**](https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Classes/class_render_player.md)            |

## Functions

|      | Name                                                                                                                                                                                                                                                                                                                                                                                     |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addbuttonlistener"><strong>AddButtonListener</strong></a>(Button btn, Action callback)<br>Adds a click listener that invokes a parameterless script callback. Exceptions are caught and logged.</p>                                                            |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addbuttonlistener"><strong>AddButtonListener</strong></a>(Button btn, Action< JsValue > callback, JsValue obj)<br>Adds a click listener that passes a script "this"-reference into the callback. Exceptions are caught and logged.</p>                         |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-setbuttoninteractable"><strong>SetButtonInteractable</strong></a>(Button btn, bool interactable)<br>Enables or disables a button.</p>                                                                                                                          |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addonvaluechanged"><strong>AddOnValueChanged</strong></a>(Toggle toggle, Action< bool, JsValue > callback, JsValue obj)<br>Adds a toggle listener that passes the new on/off state and a script reference to the callback.</p>                                 |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addoninputchange"><strong>AddOnInputChange</strong></a>(global::TMPro.TMP\_InputField input, Action< string > callback)<br>Fires the callback with the current string every time the input value changes.</p>                                                  |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addoninputchange"><strong>AddOnInputChange</strong></a>(global::TMPro.TMP\_InputField input, Action< string, JsValue > callback, JsValue jsValue)<br>Fires the callback with the current string and a script reference every time the input value changes.</p> |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Files/Files/_javascript_a_p_i_8cs.md#function-addonendedit"><strong>AddOnEndEdit</strong></a>(global::TMPro.TMP\_InputField input, Action< string, JsValue > callback, JsValue jsValue)<br>Fires the callback with the final string and a script reference when editing ends (Enter/blur).</p>               |

## Functions Documentation

### function AddButtonListener

```csharp
static void AddButtonListener(
    Button btn,
    Action callback
)
```

Adds a click listener that invokes a parameterless script callback. Exceptions are caught and logged.

**Parameters**:

* **btn** The button.
* **callback** Callback to run on click.

```csharp
static void AddButtonListener(
    Button btn,
    Action< JsValue > callback,
    JsValue obj
)
```

Adds a click listener that passes a script "this"-reference into the callback. Exceptions are caught and logged.

**Parameters**:

* **btn** The button.
* **callback** Callback receiving the reference object.
* **obj** Script object reference passed to the callback.

### function SetButtonInteractable

```csharp
static void SetButtonInteractable(
    Button btn,
    bool interactable
)
```

Enables or disables a button.

**Parameters**:

* **btn** The button.
* **interactable** True to enable.

### function AddOnValueChanged

```csharp
static void AddOnValueChanged(
    Toggle toggle,
    Action< bool, JsValue > callback,
    JsValue obj
)
```

Adds a toggle listener that passes the new on/off state and a script reference to the callback.

**Parameters**:

* **toggle** The toggle.
* **callback** Callback receiving the new state and reference object.
* **obj** Script object reference passed to the callback.

### function AddOnInputChange

```csharp
static void AddOnInputChange(
    global::TMPro.TMP_InputField input,
    Action< string > callback
)
```

Fires the callback with the current string every time the input value changes.

**Parameters**:

* **input** The input field.
* **callback** Callback receiving the current string.

```csharp
static void AddOnInputChange(
    global::TMPro.TMP_InputField input,
    Action< string, JsValue > callback,
    JsValue jsValue
)
```

Fires the callback with the current string and a script reference every time the input value changes.

**Parameters**:

* **input** The input field.
* **callback** Callback receiving the current string and reference object.
* **jsValue** Script object reference passed to the callback.

### function AddOnEndEdit

```csharp
static void AddOnEndEdit(
    global::TMPro.TMP_InputField input,
    Action< string, JsValue > callback,
    JsValue jsValue
)
```

Fires the callback with the final string and a script reference when editing ends (Enter/blur).

**Parameters**:

* **input** The input field.
* **callback** Callback receiving the final string and reference object.
* **jsValue** Script object reference passed to the callback.

***

Updated on 2026-07-22 at 12:00:00 +0800
