~/guides/best-fivem-interaction-script
Best FiveM Interaction Script in 2026
-- listicle · updated september 2026 · var fivem team
-- 11 options compared · 8 of them free · prices read september 2026
ox_target is free, it is very good, and on most servers it is the correct answer. It is MIT licensed, it was still being pushed to in June 2026, and nearly every script you buy already ships a block that registers itself against it. This guide does not pretend otherwise. What it does instead is separate the three things sold under the name interaction script, explain where a different model genuinely beats a third eye, and cost out what changing your mind later actually involves, with prices read in September 2026.
Two products wearing one name
Search for an interaction script and you get two categories that do not compete with each other. The first is infrastructure: a targeting framework that other resources call into, so that your inventory, your job scripts and the shop you bought last week can all put an option on the same fridge without knowing about each other. ox_target and qb-target are this. Nobody buys them for the experience, they are the socket everything else plugs into.
The second is authored interaction: a floating icon over a ped, a hold to confirm bar on a safe, a conversation with branching answers and a camera that frames the face. These are not plumbing, they are content, and they are the reason a server feels handmade rather than assembled. Confusing the two is the single most common mistake in this category. Replacing your targeting framework because you liked a dialogue demo means rewiring every resource on the server for a feature that could have been added alongside it.
Third eye, proximity prompt, dialogue tree
The third eye model has been the default since bt-target in 2021. The player holds a key, a reticle appears, a ray is cast from the camera, and whatever it hits offers a list of options. It is precise, it costs nothing when the key is not held, and it scales to a ridiculous number of registered points because none of them are being polled. It is also invisible. A new player who has never been told the key exists will walk past every interaction on your map, which is why servers with a third eye run tutorial popups.
The proximity model inverts that. The resource keeps a list of points, checks squared distance on a loop, and draws something in the world when the player is close: an icon, a bar, a key hint. Nothing is hidden, so discoverability is free, and the prompt can carry authored styling per point. The cost is that it polls, so a badly built one with a thread per registration will show up in resmon, and that pointing at a specific bone on a moving vehicle is awkward in a way a raycast never is.
Dialogue trees are a third thing entirely and are usually bolted onto a proximity system. The player approaches a ped, a panel opens with two or three replies, each reply leads to another node or fires an event, and a focus camera and a hidden HUD keep the player inside the scene. It is the closest FiveM gets to a quest system, and no targeting framework in this comparison ships one.
| Criterion | Third eye targeting | Proximity prompt |
|---|---|---|
| Player has to hold a key to see anything | yes | no |
| Discoverable without being told the key exists | no | yes |
| Scales to hundreds of registered points | yes | Depends on the scanner |
| Works on a moving entity or a specific bone | yes | Entity yes, bone rarely |
| Third party scripts register into it out of the box | ox_target, everywhere | no |
| Fits an authored scene with a ped and a camera | no | yes |
| Cost of the wrong choice | A reticle server | Rewiring every resource |
What actually happens when a player presses the key
Every option in this guide runs the same four stages, and knowing them tells you which of a vendor list of features is real. The stage that separates a safe script from a liability is the last one. A prompt that appears only for police is a convenience, not a lock, and if the server handler does not re-check the job, the item and the distance before opening the armoury, the check may as well not exist. The same applies to a hold duration: holding for three seconds is a client side animation, and the server sees one event either way.
Detect to verify
- DetectA third eye raycasts from the camera while the key is held. A proximity system runs a squared distance check on a loop and shows an icon when you are close enough.
- FilterJob, gang, group, item and a canInteract callback decide which options exist for this player. Anything shown here is only a suggestion, never a permission.
- PromptA list under a reticle, or an icon anchored in the world that swaps to a key panel up close. This is the part players judge you on and the part every screenshot sells.
- Fire and verifyThe client triggers an event, and the server re-checks the job, the item and the distance before doing anything. Trusting the client here is how a locked door becomes public.
Performance sits in stage one and is the reason to read the config rather than the store page. A raycast that only runs while a key is held is close to free. A distance loop is not, so what you want to see in a proximity resource is one shared scanner thread with a configurable interval that all registrations feed into, rather than a new thread per point. If you are auditing a stack for frame time in general, the wider version of that exercise is in the server optimization guide.
The free field, and it is most of the field
This is an unusual category in FiveM: the best product in it is free, and so are most of its competitors. ox_target is MIT, it takes zones, models, entities and bones through one options table, it supports group and item checks, it requires ox_lib and it defaults to the left ALT key. It was last pushed in June 2026. There is no serious argument for paying money to replace it as the framework layer.
Behind it, the history is worth knowing because outdated tutorials are still sending people to dead resources. bt-target came first and was archived in September 2021. qtarget followed, and its repository description is now a single sentence: Use ox_target instead. qb-target descends from qtarget, needs PolyZone, and takes its box zone parameters positionally rather than as a table, which is exactly the awkwardness ox_target was written to remove. It is not abandoned, it was still receiving commits in August 2026, so a working QBCore server has no emergency on its hands. It is simply not where a new build should start.
The free alternatives worth naming are the ones that changed the model rather than the API. sleepless_interact is GPL-3.0 and draws its indicators in the world as 3D DUI rather than under a reticle, and its version 2 reuses ox_target code to keep feature parity and ships an ox_target bridge that, once enabled, handles the ox_target exports itself, which makes it the only option here you can adopt without rewriting the resources you already run. envi-interact is a press to interact library with multi choice menus, speech bubbles, sliders and NPC creation, though the repository carries no licence file, which is a legal question rather than a technical one. Avenida Interact is a free download covering ESX, QBCore, Qbox, ox, vRP and standalone with 24 hint icons, branching NPC dialogue, 19 exports, 15 locales and, since version 1.1.0, no dependencies at all. And if all you actually needed was a line of text near a door, cd_drawtextui from Codesign is free and is two events, show and hide.
The FiveM interaction market in September 2026
Every price below was read from the vendor page or the repository in September 2026. Read the model column before the price column, because a text prompt resource, a targeting framework and a dialogue engine are not substitutes for each other at any price. Note also that a large part of this market sells through Tebex storefronts that a plain fetch cannot read, so any product whose price could not be confirmed was left out of this table rather than estimated.
| Script | Price (Sept 2026) | Code access | Model | What it is built around |
|---|---|---|---|---|
| ox_target | free | MIT | third eye | Zones, models, entities and bones behind one options table, with group and item checks. Requires ox_lib, default key LMENU, last pushed June 2026. |
| qb-target | free | GPL-3.0 | third eye | The QBCore standard. Needs PolyZone, takes box zone parameters positionally, ships a ped spawner. Still receiving commits in August 2026. |
| qtarget | free | GPL-3.0 | third eye | The repository description is now the single sentence Use ox_target instead. Last pushed December 2022, listed only because tutorials still name it. |
| bt-target | free | GPL-3.0 | third eye | Where the whole category started. Archived, last pushed September 2021. Do not start here. |
| sleepless_interact | free | GPL-3.0 | proximity, 3D DUI | Indicators drawn in the world rather than under a reticle. Version 2 reuses ox_target code for parity, and turning on its ox_target bridge makes it handle the ox_target exports, so existing resources keep working. |
| envi-interact | free | no licence file | proximity, press E | Multi choice menus, speech bubbles, sliders and percentage bars, NPC creation and dialogue menus. No licence in the repository, which is a legal question rather than a technical one. |
| Avenida Interact | free | config open | proximity, 3D hints | 24 hint icons, branching NPC dialogue, 19 exports, 15 locales, ESX, QBCore, Qbox, ox, vRP and standalone auto-detected, and no dependencies since 1.1.0. |
| cd_drawtextui | free | free download | text prompt only | Two events, show and hide. Not a targeting system at all, and the correct answer when all you needed was a line of text near a door. |
| Lation Modern UI | 11.24 USD | escrow | UI library | 18 systems listed under What's inside on the product page, one of which is a text UI with keybind indicators. Its ox_lib fork forwards every lib.* UI call to Modern UI, so it replaces the layer above interaction rather than interaction itself. Priced in USD, down from 14.99. |
| Advanced Interaction Script (FiveMX) | 18.92 EUR | not stated | AI dialogue | NPC conversations with per-ped personalities, knowledge bases and speaking styles, on ESX, QBCore, Qbox and standalone. Price read on the FiveMX listing, 18.92 EUR down from 28.38. The same product is resold elsewhere at a different price, so check the seller before you buy. |
| Var-Interact | 0.00 / 17.99 / 35.99 EUR | escrow / partial / open | proximity, hold to confirm | Distance based hint icons that arm a hold panel up close, multi choice menus, branching NPC dialogue with a focus camera, 80+ vanilla props mapped in the shipped example. |
What the money buys at each tier
- ox_target, qb-target, sleepless_interact, envi-interact, Avenida Interact, cd_drawtextui0 EUR
Six working systems, none of them a trial or a crippled tier. Three of them are MIT or GPL-3.0 and actively maintained: ox_target, qb-target and sleepless_interact.
- Paid interaction products17.99 to 18.92 EUR
Var-Interact Partially Open at 17.99 and the Advanced Interaction Script at 18.92, down from 28.38. Lation Modern UI sits under both but prices in USD, at 11.24.
- Full source35.99 EUR
The Var-Interact Open Source build. Worth saying plainly: ox_target hands you an editable MIT codebase for nothing.
0 EUR 35.99 EUR
Two things fall out of that table. The first is that paid money here does not buy interaction, it buys either source access or a layer above interaction: Lation sells a UI library where the text prompt is one system among many, and the Advanced Interaction Script sells AI driven NPC conversation rather than a targeting framework. The second is that the escrow question is unusually cheap to answer in this category, because three of the maintained free options hand you a readable codebase already: ox_target under MIT, qb-target and sleepless_interact under GPL-3.0. That argument is worth understanding properly before you pay for source anywhere on your server, and it is unpacked in the escrow versus open source guide.
What switching actually costs
Between target systems, the mechanical work is small and the inventory work is not. Moving from qb-target to ox_target means swapping the export name and rewriting the option fields, since one takes positional box zone arguments and the other takes a single table. That is an afternoon for code you own. The bill arrives from code you do not own: every escrowed resource on the server that hardcodes a qb-target export has to be updated by its vendor or wrapped in a shim that forwards the call. Count those resources first. A server with fifteen paid scripts registering their own options is a different project from a server with three.
Moving from a target system to a proximity system is a different order of work, and this is the honest warning in this guide. Nothing that registers ox_target options will appear in a proximity resource by itself, because there is no shared registry, so every prompt on your map has to be authored again by hand. The exception is sleepless_interact, which ships an ox_target bridge you switch on so that it handles the ox_target exports itself and existing resources keep working while the visual model changes underneath them. If you want the world anchored look with none of the rewiring, that is the option to look at first, and I would rather say that than sell you something else.
The realistic plan for most servers is not a migration at all. Keep ox_target as the socket, add a proximity or dialogue layer for the handful of moments that deserve authored treatment, and write down which system owns which entity so the same prop never carries two prompts. If you are wiring keybinds by hand while you do it, the control IDs are in the FiveM controls list.
Where Var-Interact fits, honestly
Var-Interact is in the second category described at the top of this page. It is a standalone 3D world space interaction system with no framework dependency: distance based hint icons that arm a hold to confirm panel when the player gets close, multi choice menus, and NPC dialogue trees exposed through exports. The hold duration, the key bind and a per point canInteract gate are configurable per registration. Peds carry branching dialogue with a focus camera, player hiding and random voice lines, and stream in and out by distance on their own. Interactions attach to a static world coordinate, to an existing entity by handle, or to every prop of a model hash through a shared scanner thread, and points can be created and removed at runtime with interactCreate and interactRemove.
The parts I would actually point at are the ones that save authoring time. The shipped example maps prompts onto more than 80 vanilla props, ATMs, vending machines, safes, computers, gas pumps and arcades among them, so a large part of the map has usable interactions before you have written anything. There are 23 hint icons and a named colour palette with English and French aliases, the UI styling and the strings are configurable without touching the bundle, there are hooks to hide and restore the compass, minimap or inventory during a dialogue, and peds, points and blips clean themselves up when the resource or a consumer stops.
| Criterion | Var-Interact | ox_target |
|---|---|---|
| Prompt visible without holding a key | yes | no |
| Third party resources register into it unmodified | no | The whole market |
| Branching NPC dialogue with a focus camera | yes | no |
| Hold to confirm with a configurable duration | yes | no |
| Bone level targeting on vehicles | no | yes |
| Licence you can read and fork | Open Source tier | MIT, free |
| Ready made prompts on vanilla props | 80+ in the example | no |
Now the part that matters more than the feature list. Var-Interact is not a drop-in replacement for ox_target, and installing it does not make your existing scripts show prompts. It has no compatibility layer for ox_target or qb-target options, so every interaction you want from it is one you register yourself. It does not do bone level targeting on vehicles, it is not the right tool for a hundred generated points across a map, and if your server is built on paid resources that assume a target export, it belongs alongside that system rather than instead of it. Var scripts are built on exactly that assumption: Var-Chess ships three interaction backends, a dependency free drawtext prompt, Var-Interact hints or ox_target zones, and works with whichever you have installed.
Two competitors beat it on its own ground and it is worth saying which. If what you want is the world anchored look without rewiring anything, sleepless_interact documents an ox_target bridge that handles the ox_target exports once you enable it, so the resources you already run keep working unchanged, and Var-Interact has no equivalent. If what you want is the authored proximity layer for nothing, Avenida Interact is a free download with 24 hint icons against 23, branching NPC dialogue, 19 exports, 15 locale files, ESX, QBCore, Qbox, ox, vRP and standalone auto-detected, and its config left outside escrow so you can edit it in production. Install that one first and see whether it already does what you need.
Pricing is straightforward and, read in September 2026, the escrow build was listed at 0.00 EUR, the Partially Open build at 17.99 EUR and the Open Source build at 35.99 EUR. Which means the honest recommendation is to take the free build, register three prompts and one dialogue, and decide from that whether the authored layer earns a place next to your target system. If it does not, you have lost nothing, and ox_target is still free.
Frequently asked questions
What is the best FiveM interaction script?
For most servers it is ox_target, and it costs nothing. It is MIT licensed, it was still being pushed to in June 2026, it handles zones, models, entities and bones behind one options table, and almost every paid resource you buy already ships a block that registers itself against it. Recommending anything else as a general answer would be dishonest. The reason to look further is a different interaction model rather than a better target system: if you want a prompt the player can see from across the street without holding a key, or a branching conversation with a ped, that is a proximity system, and ox_target does not do it.
Is ox_target better than qb-target?
Yes, on performance and on API design, and the two projects agree on it. qb-target descends from qtarget, and the qtarget repository description now reads Use ox_target instead. qb-target still needs PolyZone as a dependency and takes its box zone parameters as positional arguments, while ox_target takes a single options table and runs its own collision handling. qb-target is not dead, it was still receiving commits in August 2026, so if your server is a working QBCore build with a hundred registered options there is no emergency. On a new server, start on ox_target.
Is there a free FiveM interaction script?
Almost the whole category is free. ox_target is MIT, qb-target and sleepless_interact are GPL-3.0, envi-interact is a public repository with no licence file, Avenida Interact is a free download that covers ESX, QBCore, Qbox, ox, vRP and standalone with 24 hint icons and branching NPC dialogue, and cd_drawtextui from Codesign is a free two event text prompt. The Var-Interact escrow build was listed at 0.00 EUR on its product page in September 2026. Paid money in this category buys readable source or a UI layer, not a working interaction system.
Can I run ox_target and a proximity interaction script at the same time?
Yes, and plenty of servers do, because the two answer different questions. The workable split is to leave ox_target as the plumbing every third party resource registers against, and use the proximity system only for authored set pieces: the shop ped you wrote yourself, the safe in the back room, the informant on the corner. The failure mode is putting two prompts on the same prop, so the player holds the target key, sees an option, releases it and then also sees a floating icon for the same action. Pick one owner per entity and write it down.
What does migrating from qb-target to ox_target actually cost?
Between an afternoon and a fortnight, depending on how much of your server is escrowed. The mechanical part is small: swap the export name and rewrite the option fields, since qb-target passes box zone parameters positionally and ox_target takes one table. The expensive part is inventory. Every resource on the server that registers its own options has to be edited, and any escrowed script that hardcodes exports.qb-target has to be handled by its vendor or wrapped in a shim. Count the resources that call a target export before you plan the switch, not after.
Do interaction scripts hurt server performance?
The client cost is what matters, and it is small on any of the maintained options. A third eye system does one raycast per frame while the key is held and nothing at all while it is not, which is why it scales to hundreds of registered points. A proximity system is the opposite shape: it runs a distance check on a loop whether the player is interacting or not, so what to watch is the interval and whether the resource batches its points into one shared thread rather than one thread per registration. Check it with resmon standing in a busy area, not in an empty field.
Do I need ox_lib for an interaction script?
For ox_target and sleepless_interact, yes, ox_lib is a documented requirement. qb-target needs PolyZone instead. Avenida Interact states that since version 1.1.0 it ships its own DUI handling and proximity points on plain natives, so it needs nothing, and cd_drawtextui is two events. Var-Interact also lists ox_lib as its only resource dependency, and uses ox_lib points for its distance checks, but it has no framework dependency: it runs on ESX, QBCore or nothing at all. None of this is a real obstacle, since ox_lib is already on most servers, but it matters if you are building a deliberately minimal stack.
-- var-fivem.com
Try the interaction layer before you wire anything
Var-Interact runs on the public Var test server, so you can walk into a hint icon, hold to confirm, and go through a branching NPC dialogue with the focus camera before touching a config file. It is standalone, and it is meant to sit next to your target system rather than replace it.
Related: FiveM controls list · FiveM server optimization
Keep reading
- referenceFiveM Controls List: All Control IDs & KeysComplete reference of all 361 FiveM control IDs (0 to 360) with default keyboard and controller bindings, the 0/1/2 control groups, and Lua snippets for IsControlPressed and DisableControlAction.read
- listicleBest FiveM Supermarket Script in 2026What a FiveM supermarket script actually has to do, the difference between a player-owned store menu and a full simulation, and the options compared on prices read in September 2026.read
- setupHow to Optimize a FiveM Server: Resmon, Tick Rate & LagHow to read resmon, what a healthy ms per resource actually looks like, the Lua patterns that burn frames with before and after snippets, the OneSync and culling convars, streaming, oxmysql, and a repeatable way to find the resource causing the lag.read
Var-InteractContextual interaction prompts with its own model rather than a reticle, exposed to other resources through exports.View the script