GenZeeDocs

Installation

Install and set up Universal Targeting 1.1.0.

  1. Drop the universal_targeting folder into your server's resources/.

  2. Add to server.cfg:

    ensure universal_targeting
  3. 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.cursorSpeed is 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 scripts

The 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.

On this page