[Release] FiveM Freecam API

FiveM Freecam

Simple freecam API for FiveM. Useful for noclip or camera resources. The resource by itself doesn’t include a control to enable or disable the freecam; use the example below in your own resource to do that.


  • Easy to use freecam API
  • Improved state accuracy over native GTA
  • Moves with the minimap
  • Adjustable moving speed
  • Support for keyboard and gamepads
  • Fully configurable


These are the default controls for the freecam. Keep in mind controls may be
different depending on your game settings or keyboard layout.

Controls can be customized by configuring the freecam.


  • Mouse to look around
  • W and S to move forward and backward
  • A and D to move left and right
  • Q and E to move up and down
  • Alt to slow down
  • Shift to speed up


  • Left joystick to move around
  • Right joystick to look around
  • Left button to move down
  • Right button to move up
  • Left trigger to slow down
  • Right trigger to speed up


To use the freecam, you must configure it in your own resource. You can enable it by using the exported SetActive function. Below an example in Lua:

In your fxmanifest.lua:

dependency 'fivem-freecam'
client_script 'script.lua'

In your script.lua:

local Freecam = exports['fivem-freecam']

-- Toggles the freecam by pressing F5
Citizen.CreateThread(function ()
  while true do
    if IsDisabledControlJustPressed(0, 166) then
      local isActive = Freecam:IsActive()
      Freecam:SetActive(not isActive)





That’s lovely!

1 Like

v nice!

1 Like

Super amazing!
Already been heavily utilizing an earlier version of yours and it’s been so great to work with.


Looks amazing

some one tell me how to add permissiion that only admin can you this

Using ace perms or whatever framework you use

just put and start then press f5

is it possible to turn this into noclip so that the player is in the last position of the camera? whenever I activate freecam it doesn’t allow me to open the chat to make a command, can I convert it to enable it with a command and disable it with a command?

Nothing is happening.

You need to make your own resource to enable this!