Save 20% with WELCOMEView sales
FiveM: How to Remove the Crosshair (Players & Server …

How to Remove the Crosshair in FiveM (HideHudComponentThisFrame 14)

Fast answer: FiveM servers remove the default GTA crosshair — HUD component 14, the reticle — by running HideHudComponentThisFrame(14) every frame in a client script. The call must run on the client, inside a loop, because HUD components render again on the next frame. Below: the copy-paste resource, an optional player toggle command, and fixes for a crosshair that keeps coming back.

Last updated: June 25, 2026

Copyable client script

Create a small client resource and put this in client.lua:

CreateThread(function()
 while true do
 Wait(0)
 HideHudComponentThisFrame(14)
 end
end)

The official Cfx.re native reference lists HideHudComponentThisFrame as the native for hiding HUD components. Component 14 is the reticle/crosshair.

Minimal fxmanifest.lua

Place this next to client.lua in a resource folder, for example resources/[local]/no-crosshair/:

fx_version 'cerulean'
game 'gta5'

client_script 'client.lua'

Then add the resource to server.cfg:

ensure no-crosshair

Why it has to run every frame

HUD hiding is frame based. Calling the native once can look like it worked for a moment, but the reticle returns because GTA renders HUD components again on later frames. Keep the loop lightweight and do not add expensive logic inside it.

Player-side vs server-side crosshair removal

Goal Best method
Remove the default GTA reticle for everyone Use a small client resource with HideHudComponentThisFrame(14).
Let players choose Add a client setting or command that toggles the loop.
Remove a custom weapon HUD Check the weapon/HUD resource. It may draw its own crosshair.
Stop monitors or overlays adding a dot Check client overlays, monitor features, and graphics mods.

Optional toggle command

If your server wants a player toggle, use a local variable:

local crosshairHidden = true

RegisterCommand('crosshair', function()
 crosshairHidden = not crosshairHidden
 print(crosshairHidden and 'Crosshair hidden' or 'Crosshair visible')
end, false)

CreateThread(function()
 while true do
 Wait(0)
 if crosshairHidden then
 HideHudComponentThisFrame(14)
 end
 end
end)

Troubleshooting

  • If the crosshair still appears, another HUD or weapon resource may be drawing its own element.
  • If the resource does not start, verify the fxmanifest.lua setup.
  • If only one player sees a dot, check monitor overlays or graphics tools on that PC.
  • If you need a full HUD pass, compare FiveM HUD resources.

FAQ

Can this be done in server.lua?

No. HUD rendering is client-side. Trigger a client event if you need server logic, but call the native in client code.

Does this affect custom scopes?

It hides the default reticle component. Custom weapon scripts, scopes, or NUI overlays may still draw their own UI.

Server-side rollout checklist

Before adding this to a live roleplay server, test it with the weapons and HUD resources your players already use. A default reticle can be hidden by component 14, but many servers also run weapon overlays, custom scopes, or NUI HUDs. Those scripts may draw their own crosshair and need separate settings.

  1. Create the resource on a staging server.
  2. Test pistols, rifles, shotguns, melee weapons, and unarmed movement.
  3. Check first-person and third-person view.
  4. Open the inventory, radial menu, weapon wheel replacement, and HUD.
  5. Ask one tester with a clean client and one tester with normal overlays to compare.

How to debug a crosshair that comes back

If the dot returns only while aiming, your code may not be running every frame. If it returns only with one weapon or one job, a weapon or police resource may draw the UI. If it appears only for one player, check monitor crosshair features, ReShade overlays, GPU overlays, or accessibility tools on that PC.

Good server policy wording

If your server bans external crosshairs, write the rule clearly: no monitor crosshair, no overlay crosshair, no third-party aiming dot. Then enforce it with staff review rather than relying only on a script that hides the default HUD reticle.

When the crosshair comes back

If the dot returns only while aiming, the client loop may not be running every frame. If it returns only with one weapon or job, another weapon, HUD or police resource may draw its own aiming UI. If it appears for one player only, check monitor crosshair features, GPU overlays, ReShade overlays and accessibility tools on that PC.

Server rule wording

If your community bans external crosshairs, say exactly what is banned: monitor crosshair, overlay crosshair, third-party aiming dot and modified HUD reticle. A script can hide the default GTA HUD component, but it cannot police every external display feature by itself.