Configuration
Every option in config.lua, what auto detects, and what each value means.
On this page13
config.lua is one setting per category, plus a debug switch, an icon path and one
ESX-only sub-table. 'auto' detects, a name pins the backend, 'custom' calls your own
code in the editable files, and false turns
the category off. Names match exactly, capitalisation included, apart from 'auto',
'custom' and false.
false resolves to that category's off backend, 'standalone' for framework, inventory,
progressbar and banking, 'disabled' for notify, stress, needs and target. Writing those
strings directly does the same thing.
Everything resolves once, on startup, and the result is printed to console:
[pixel-utils] server links resolved
framework qbx
inventory ox_inventory
notify ox
progressbar ox
stress qbx_hud
needs qbx_hud
target ox_target
banking qbx_management
A value that matches nothing loads no backend. Most categories say so at startup with a
red export "…" is missing line.
Config.Debug
Ships as false. Turn it on and every remap, detection and fallback is logged, prefixed
[pixel-utils] [debug].
This one is not normalised like the others. false turns it off, as does leaving the line
out entirely, silently, and nothing else does. 'false' written as a string counts as a
value rather than a switch, and turns debug logging on.
Config.Framework
Nothing found falls back to off.
Config.ESX
Config.ESX = {
useOldExport = false,
}Read on the server only, and only for very old ESX builds.
Config.Inventory
'auto' with nothing detected, and 'framework' written explicitly, both resolve through
the table below, so a wrong guess here shows up as another real inventory name rather than
as off:
Config.InventoryImagePath
The nui:// path your inventory serves item icons from. The %s is replaced with the item
name.
This is a path, not a category, so it has no 'custom' and no off switch.
Config.Notify
'qb' and 'framework' are not in the detection list, so a QBCore server left on 'auto'
gets ox_lib notifications until you say otherwise.
Config.Progressbar
Config.Stress
Config.Needs
Hunger and thirst.
'auto' with nothing detected, and 'framework' written explicitly, both resolve through
the table below, taking whatever your framework already keeps hunger and thirst in rather
than pixel-utils' own store. A renamed HUD that auto cannot see keeps its existing write
path instead of ending up with two disagreeing sets of values:
'pixel' keeps the values in pixel-utils/data/needs.json, one entry per character. New
characters start at 100 and nothing drains them, because decay is a HUD's job. pixel-utils
draws nothing either. A HUD that wants to render the values listens for
pixel-utils:client:needsChanged.
Config.Target
Config.SocietyBanking
Config.AdminAce
Ships as 'pixel.admin'. One ace for every Pixel resource, granted once:
add_ace group.admin pixel.admin allowConfig.CopyPed
Registers /copyped [name], an authoring tool. Stand as the ped you want, run it, and the
full appearance is printed to your F8 console and copied to your clipboard as a Lua table
ready to paste into any Pixel config that takes an appearance block.
Writing one of those by hand is not realistic. It is 12 components, 5 props, a head blend, 20 face features, 12 overlays and a tattoo list, which is why this exists. It costs nothing at runtime beyond registering one command.
Gated by Config.AdminAce.
Clothing is captured as a collection name plus a local index rather than the global one, so a capture survives you adding, removing or reordering DLC clothing packs later.