Skip to content

Core Focus

Requirements

Framework
QBCoreESXQBXStandalone
Dependency
PolyZone
Replaces
ox_targetqb-targetqtarget

INFO

Core Focus acts as a drop-in replacement for ox_target, qb-target, and qtarget. It provides all their exports through a built-in bridge layer — no changes needed in your existing scripts.

Setup

1
Add the Resource

Place core_focus into your server's resources folder.

resources/
  [c8re]/
    core_focus/
2
Remove Old Target System

Core Focus replaces your existing target system. Stop (don't delete) your old target resource:

cfg
# Comment out or remove these from server.cfg
# ensure ox_target
# ensure qb-target
# ensure qtarget

WARNING

Do not remove the old target resource folder — other scripts may still reference its resource name. Core Focus provides ox_target, qb-target, and qtarget exports automatically via its bridge layer.

3
Configure the Framework

Open config.lua and set your framework:

lua
Config = {
    Framework = 'qb-core',              -- 'qb-core', 'esx', or 'standalone'
    FrameworkResource = 'qb-core',      -- Resource name of your framework
    NewFrameworkVersion = true,          -- ESX only: set false for versions < 1.8
}
4
Start the Resource

Add to your server.cfg in the correct order:

cfg
ensure mysql-async
ensure qb-core              # your framework (qb-core, es_extended, qbox)

ensure PolyZone              # required if any scripts use it (e.g. ox_inventory)

ensure core_focus            # start BEFORE any scripts that use targeting

ensure ox_inventory
ensure qb-inventory
# ... rest of your resources

DANGER

core_focus must start before any scripts that register targets (inventory, jobs, etc). Place it right after PolyZone and your framework.

5
Verify
  1. Start your server
  2. Join and press Left Alt (default) to open the radial targeting menu
  3. Walk near a vehicle or NPC — you should see targeting dots appear
  4. Check the console for any errors

TIP

If your existing scripts used ox_target or qb-target exports, they should work immediately — the bridge layer handles translation automatically.