qb-radialmenu, which uses its own NUI and never touches ox_lib. Awoken UI hooks the ox_lib radial, so by default it doesn’t render qb-radialmenu’s items. This guide adds a small bridge to qb-radialmenu that routes everything through ox_lib (and therefore Awoken UI) without removing the resource.
QBX users:
qbx_radialmenu already runs on ox_lib. No bridge needed, Awoken UI renders it out of the box.Setup
1
Add ox_lib to qb-radialmenu's manifest
Open Without this, the bridge can’t reach
qb-radialmenu/fxmanifest.lua and add @ox_lib/init.lua as the first entry in shared_scripts:qb-radialmenu/fxmanifest.lua
lib.addRadialItem and bails on load with a console warning.2
Paste the bridge at the bottom of qb-radialmenu/client/main.lua
Open
qb-radialmenu/client/main.lua and paste the block below at the very end of the file, after the existing exports('AddOption', AddOption) and exports('RemoveOption', RemoveOption) lines. The new exports replace the originals because FiveM uses the last registered handler.qb-radialmenu/client/main.lua
3
Restart qb-radialmenu
Run
restart qb-radialmenu (or restart your server). The bridge initialises on next player load and pushes Config.MenuItems into the Awoken UI radial automatically.Keybinds
After the bridge is installed, the qb-radialmenu keybind opens Awoken UI’s radial instead of qb-radialmenu’s own UI. Awoken UI’s own radial keybind (defaultZ, set in awoken_ui/config.lua via radialOpenKey) opens the same overlay. Either key works.
Troubleshooting
Console prints '[awoken-bridge] ox_lib not loaded, bridge aborted'
Console prints '[awoken-bridge] ox_lib not loaded, bridge aborted'
@ox_lib/init.lua is missing from qb-radialmenu’s shared_scripts block. Add it (see step 1 above) and restart the resource.Pressing the key opens an empty radial
Pressing the key opens an empty radial
Config.MenuItems is empty, or the bridge ran before the player was fully loaded. Wait a couple of seconds after spawn and try again. If items added by external scripts via exports['qb-radialmenu']:AddOption(...) still don’t show, check that those scripts call AddOption after QBCore:Client:OnPlayerLoaded has fired.Items appear but clicking them does nothing
Items appear but clicking them does nothing
The item is using a field the bridge doesn’t recognise. The converter handles
type+event, event, serverEvent, command, and onSelect. If a script uses something custom, wrap it in an onSelect callback inside the item definition.