# Installation (/docs/orbit-studios-resources/orbit-dynamichud)



# Installation [#installation]

`orbit-dynamichud` is Orbit Studios' interactive FiveM HUD with customizable status UI, speedometers, DynamicBar, car controls, music, notifications, commands, and state-bag integrations.

<Callout type="warn" title="Required order">
  Start `orbit-lib` and `ox_lib` before `orbit-dynamichud`.
</Callout>

Use this page to install the base HUD. Seatbelt, cruise control, and stress are separate resources so you can decide whether to use the Orbit addons or wire in your own existing systems.

<Cards>
  <Card title="Dependencies" description="Required resources and optional stress, seatbelt, voice, radio, and inventory integrations." href="/docs/orbit-studios-resources/orbit-dynamichud/dependencies" />

  <Card title="Configuration" description="HUD behavior, player defaults, server commands, handlers, weapons, and locales." href="/docs/orbit-studios-resources/orbit-dynamichud/configuration" />

  <Card title="Interface" description="Notifications, TextUI, skill check, and progress bar integration notes." href="/docs/orbit-studios-resources/orbit-dynamichud/interface" />

  <Card title="Exports" description="HUD state exports, toggle export, and server/client events." href="/docs/orbit-studios-resources/orbit-dynamichud/exports" />

  <Card title="Commands" description="HUD restart, engine, onboarding, and money/stress commands." href="/docs/orbit-studios-resources/orbit-dynamichud/commands" />

  <Card title="Language Support" description="Available locale files and ox_lib locale setup." href="/docs/orbit-studios-resources/orbit-dynamichud/language-support" />

  <Card title="Stress Addon" description="Install the dedicated stress resource for stress gain, relief, effects, and state bags." href="/docs/orbit-studios-resources/orbit-dynamichud-stress" />

  <Card title="Troubleshooting" description="Fix HUD visibility, needs, stress, money, notifications, and vehicle UI issues." href="/docs/orbit-studios-resources/orbit-dynamichud/troubleshooting" />
</Cards>

## File Structure [#file-structure]

<Files>
  <Folder name="resources">
    <Folder name="[orbit]">
      <Folder name="orbit-lib" />

      <Folder name="orbit-dynamichud">
        <File name="fxmanifest.lua" />

        <Folder name="shared">
          <File name="config.lua" />

          <File name="settingsConfig.lua" />

          <File name="cars.lua" />

          <File name="weapons.lua" />
        </Folder>

        <Folder name="server">
          <File name="config.lua" />

          <File name="handlers.lua" />

          <File name="main.lua" />
        </Folder>

        <Folder name="client">
          <File name="main.lua" />

          <File name="notifications.lua" />

          <File name="sounds.lua" />

          <File name="car.lua" />

          <File name="postals.lua" />
        </Folder>

        <Folder name="locales">
          <File name="en.json" />

          <File name="sv.json" />
        </Folder>
      </Folder>
    </Folder>
  </Folder>
</Files>

## What You Edit [#what-you-edit]

The base HUD has several public config files. Start with these before touching custom integrations:

<Files>
  <Folder name="orbit-dynamichud">
    <Folder name="shared">
      <File name="config.lua" />

      <File name="settingsConfig.lua" />

      <File name="cars.lua" />

      <File name="weapons.lua" />
    </Folder>

    <Folder name="server">
      <File name="config.lua" />

      <File name="handlers.lua" />
    </Folder>
  </Folder>
</Files>

Use `shared/config.lua` for visible HUD features, update intervals, DynamicBar, and enabled status values. Use `settingsConfig.lua` for the default HUD preset a new player receives. Use `server/handlers.lua` only when you need to adapt money, death, inventory-open, or framework-specific state events.

## Installation [#installation-1]

```properties title="server.cfg"
ensure ox_lib
ensure [framework-resources]
ensure orbit-lib
ensure orbit-dynamichud
```

Install the optional addon resources after the base HUD:

```properties title="server.cfg"
ensure orbit-dynamichud-addons
ensure orbit-dynamichud-stress
```

After joining the server, use `/restarthud` once and confirm that health, armor, hunger, thirst, and vehicle UI values update before adding custom integrations.

## Framework Notes [#framework-notes]

<Tabs groupId="framework" items="['ESX', 'QB', 'QBX', 'Standalone']">
  <Tab value="ESX">
    ESX money updates are handled through `esx:setAccountMoney`. Death state can be set through ESX death and spawn handlers.
  </Tab>

  <Tab value="QB">
    QB uses QBCore player-loaded, money-change, needs, and stress events.
  </Tab>

  <Tab value="QBX">
    QBX works through QB-style HUD events plus normalized player data from `orbit-lib`.
  </Tab>

  <Tab value="Standalone">
    Use `Config.Framework = 'standalone'` in `orbit-lib`. DynamicHUD reads normalized player data from `orbit-lib`; configure standalone money/job adapters there when the default values are not enough.
  </Tab>
</Tabs>
