> For the complete documentation index, see [llms.txt](https://docs.otherplanet.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.otherplanet.dev/scripts/op-hud-v2/installation.md).

# Installation

Before you start, make sure you're logged into the CFX portal. This ensures you can download the asset and receive future updates.

#### Downloading Dependencies

Framework must be running. Integrations (status, voice, fuel, seatbelt, inventory) are auto-detected when their resources are started.

{% stepper %}
{% step %}
**Framework**

One of:

* ESX (`es_extended`)
* QBCore (`qb-core`)
* Qbox (`qbx_core`)

Standalone mode works for UI-only testing, but money / job / status will be limited.
{% endstep %}

{% step %}
**Status (recommended)**

* ESX: `esx_status`
* QBCore: metadata via `qb-core`
* Qbox: built-in metadata bridge (`qbox`)
  {% endstep %}

{% step %}
**Voice (optional)**

`pma-voice`, `mumble-voip` or `saltychat`
{% endstep %}

{% step %}
**Fuel (optional)**

`ox_fuel`, `LegacyFuel`, `ps-fuel`, `cdn-fuel`, and similar. Falls back to native fuel when none is found.
{% endstep %}
{% endstepper %}

***

#### Server.cfg

Start your framework first, then the HUD. Example:

```
ensure es_extended   # or qb-core / qbx_core
ensure esx_status    # if ESX hunger/thirst
ensure pma-voice     # optional
ensure ox_fuel       # optional
ensure op-hud
```

{% hint style="info" %}
Resource folder name must stay `op-hud` (matches `fxmanifest.lua` / NUI paths).
{% endhint %}

***

#### First Setup

{% stepper %}
{% step %}
**Locale and branding**

Edit `config/MainConfig.lua` (`Config.Locale`) and `config/HudConfig.lua` (`Config.Branding`).
{% endstep %}

{% step %}
**Grant HUD admin**

Follow How to grant HUD admin, then open `/hudsettings` and use the **Default Settings** / **Permissions** tabs.
{% endstep %}

{% step %}
**Set server defaults (optional)**

Follow How to set server defaults so new players start with your layout.
{% endstep %}

{% step %}
**Wire other scripts**

Use Notify and Progress from jobs / inventory / phone scripts.
{% endstep %}
{% endstepper %}
