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



# Installation [#installation]

`orbit-lib` is the required bridge library for Orbit Studios resources. It connects Orbit resources to your framework, target system, inventory, notifications, progress provider, and optional gang data.

<Callout type="warn" title="Editable surface">
  `orbit-lib` is escrowed. Only document and edit `config.lua`.
</Callout>

Use this page as the setup checklist before installing any other Orbit Studios resource. If `orbit-lib` is not configured first, later resources can start successfully but still fail when they try to read player data, open targets, register usable items, or send notifications.

<Cards>
  <Card title="Configuration" description="Set framework, target, inventory, notifications, progress, and gangs." href="/docs/orbit-studios-resources/orbit-lib/configuration" />

  <Card title="Troubleshooting" description="Fix startup order, missing exports, framework mismatch, and provider issues." href="/docs/orbit-studios-resources/orbit-lib/troubleshooting" />
</Cards>

## File Structure [#file-structure]

<Files>
  <Folder name="resources">
    <Folder name="[orbit]">
      <Folder name="orbit-lib">
        <File name="fxmanifest.lua" />

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

      <File name="other Orbit resources" />
    </Folder>
  </Folder>
</Files>

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

Only edit `resources/[orbit]/orbit-lib/config.lua`. Do not rename the resource folder, move internal files, or edit escrowed files. The public config decides which framework adapter is used and which installed resources should handle target zones, inventory actions, notifications, and progress bars.

## Start Order [#start-order]

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

# Other Orbit Studios resources start after orbit-lib.
ensure orbit-dynamichud
ensure orbit-craftingsystem
```

Start `orbit-lib` after the resources it bridges to, then start the Orbit resource that depends on it. For example, if `Config.TargetResource = 'ox_target'`, `ox_target` must start before `orbit-lib`.

## Framework Selector [#framework-selector]

Use the same selector pattern across Orbit docs.

<Tabs groupId="framework" items="['ESX', 'QB', 'QBX', 'Standalone']">
  <Tab value="ESX">
    Set `Config.Framework = 'esx'`. Use ESX job names, ESX account names, and an ESX-compatible inventory bridge.
  </Tab>

  <Tab value="QB">
    Set `Config.Framework = 'qb'`. Use QBCore job/gang names and QB-compatible inventory, target, and notification resources.
  </Tab>

  <Tab value="QBX">
    Set `Config.Framework = 'qbx'`. QBX servers usually pair `ox_inventory`, `ox_target`, and `ox_lib` with Orbit resources.
  </Tab>

  <Tab value="Standalone">
    Set `Config.Framework = 'standalone'`. Configure `Config.Standalone` adapters when you need custom names, money, jobs, character info, or usable-item behavior without ESX/QB/QBX.
  </Tab>
</Tabs>
