> For the complete documentation index, see [llms.txt](https://atiysus-organization.gitbook.io/aty-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atiysus-organization.gitbook.io/aty-scripts/inventory/getting-started/dependencies.md).

# Dependencies

## Dependencies

#### aty\_lib — required

The framework bridge. `aty_inventory` never calls QBCore or ESX directly; it asks `aty_lib` and gets the same answer whatever the server runs on.

Without it the resource will not start. This is deliberate: a half-detected framework produces an inventory that loads money the wrong way and only fails once a player logs in.

#### A MySQL wrapper — required

One of `oxmysql`, `mysql-async` or `ghmattimysql`. The resource detects which is present and uses it; you do not configure this.

Persistence is the whole product. With no database the inventory has nowhere to put a container and no ledger to write to.

#### A framework — optional

QBCore or ESX, detected through `aty_lib`, or QBox, which the resource recognises itself by `qbx_core` running.

With **no** framework the resource runs standalone: identity comes from the player's licence identifier, money is held as items, and job/gang restrictions are simply not enforced. Everything else — containers, weight, crafting, trading, shops, the ledger — works unchanged. There is no switch for it; a server with no framework is standalone.

```lua
Config.Standalone = {
    cashItem = 'cash',  -- the item standalone shops charge in
    jobGates = 'open',  -- a job-gated point with no jobs: 'open' to anybody, 'closed' to nobody
}
```

#### A target resource — optional

`ox_target` / `qb-target`, resolved through `aty_lib`. With `Config.Target.enabled = true` it adds look-and-click zones to stash and shop points, placed props and airdrop crates. Vehicle boots and gloveboxes stay on the keys.

Without one, or with the switch off, stash and shop points and crates open with the inventory key (F2) inside the same radius, and a placed prop is picked up with `E`. Nothing becomes unreachable.

```lua
Config.Target = {
    enabled = false,  -- the default, as in ox_inventory; true adds look-and-click zones
}
```

#### Clothing / skin resource — optional

Not needed. The wear system dresses the ped itself with the game's own component natives and puts back what was there when an item comes off, so it works alongside any clothing resource or none. The clothing script `aty_lib` detects is only named in `/wearcheck`.

A clothing resource that would rather do the dressing can take it over with `exports.aty_inventory:RegisterWearProvider`; outfit items then go through it too.
