Installation
Install and set up Universal Targeting 1.1.0.
-
Drop the
universal_targetingfolder into your server'sresources/. -
Add to
server.cfg:ensure universal_targeting -
Restart the server. Done — the resource is fully standalone (no Universal UI, ox_lib or framework required).
For players
/targeting (also on the Z radial) opens the settings menu:
- Mode — Third Eye, Dial, Prompts or Context, plus the prompt confirm style (hold / instant).
- Theme — accent color and UI scale.
- Look — shape, color and size of the third-eye reticle, the context cursor and the world markers, plus context cursor sensitivity. Every shape reacts when it's over something interactable; the page previews it live.
All choices save client-side and follow the player across sessions and servers running this resource.
Running Universal Pause and universal_bridge too? The same settings also
show up as a Targeting page in the pause menu's Settings (Universal
Hub), following the same Config.Settings.pages toggles. Nothing to set
up. Context mode never shows the game's mouse
pointer — it freezes the camera and drives its own cursor.
Default keys are Left Alt (interact) and Z (radial). Players can rebind both in GTA's Settings > Key Bindings > FiveM.
Configuration
Everything owner-tunable lives in shared/config.lua (kept readable in the
escrowed package):
Config.Modes/Config.DefaultMode— which modes players may pick.Config.Keybinds— default keys.Config.Eye,Config.Prompts,Config.Context,Config.RadialTargeting— per-mode ranges and behavior (Config.Context.cursorSpeedis the base cursor speed players scale with their sensitivity slider).Config.Styles— server-default reticle / cursor / marker shape, color and size (players override on the Look page).Config.Theme— default look;Config.Settings— which settings pages show (pages.mode/pages.theme/pages.look), the Z-radial shortcut, accent swatches.Config.Locale— every player-facing string, for translation.
client/demo.lua stays readable as an integration example: with
setr universal_targeting:dev 1, /universal_targeting:demo registers
sample interactions (bone-scoped vehicle options, a ped option, a zone) and
radial demo items.
Replacing ox_target (optional)
Every Universal product ships with universal_bridge, the suite's shared
layer (keep one copy if you own several). With ox_target installed and the
bridge ensured after it, the bridge answers every exports.ox_target:*
call and every legacy qtarget registration and routes it into Universal
Targeting. It does the same for ox_lib's radial API, and switches ox's own
eye and radial off so nothing draws twice. ox_target's files are never
modified: stop the bridge and ox_target behaves as before.
ensure ox_lib # only if you have it
ensure ox_target # only if you have it
ensure universal_bridge # after ox_target
ensure universal_targeting # before your other scriptsThe bridge queues anything registered before Universal Targeting is up and
replays it, but starting it early keeps every registration instant. Run
universal_bridge status in the server console to see what is redirected.
With Universal UI installed alongside and the bridge running, theming is
merged automatically so both products share one look (the Theme page
hides here; setr universal:mergedTheme 0 to opt out).
Support
Keep the version line in fxmanifest.lua intact when reporting issues,
and include your shared/config.lua changes.
