Skip to main content
Bodycam cloud footage storage is limited based on your subscription plan.View our pricing page for more information.
Body Camera showing the native CAD viewer with a unit video feed and recording control.

What is the live Body Camera?

Sonoran CAD is the only external CAD system offering livestream video from in-game users accessible through the live map, active units preview, or a dedicated window.

Activation Guide

  1. Download and Install the Resource

This submodule is already enabled by default when installing the Sonoran CAD FiveM resource.
The locations submodule includes all logic required to send bodycam images to the CAD and is already enabled by default. Keep this submodule enabled to maintain functionality.

  1. Adjust the Configuration

The bodycam settings are stored inside of the /configuration/bodycam_config.lua file.

  1. Ensure Players are Linked

Ensure the player has already linked their CAD for this integration to work.

In-Game Usage

When in-game, units must also be actively signed into the dispatch, police, fire, or EMS panel. On first usage, players will be prompted to grant permission for the bodycam:

Commands

In-game commands can be used to
  • /bodycam Toggle the bodycam on or off
  • /bodycam sound Displays your current local sound volume
  • /bodycam sound 0 Mutes bodycam sounds locally; use a value from 0 to 1, such as /bodycam sound 0.2 for 20% volume
  • /bodycam frequency Displays your current beep interval in seconds
  • /bodycam frequency 30 Sets your bodycam beep interval to 30 seconds; accepts whole seconds from 1 to 3600
  • /bodycam anim Toggles the bodycam animation on and off locally
  • /bodycam overlay Toggles the bodycam overlay on and off locally
  • /bodycam forceoff Enables the force-off state, if your server has granted you permission

Keybind

Users can customize a keybind to toggle their bodycams on and off. Navigate to Settings > Keybinds > FiveM and look for the keybind Toggle BodyCam under the resource sonorancad.

Body Camera Overlay

The on-screen overlay has a generic camera housing, a blinking status light, and a gold/red Sonoran CAD logo by default. Sonoran CAD in-game body camera overlay with a gold/red logo and blinking red status light. To swap the logo:
  1. In sonorancad/core/client_nui/img/, copy bodycam_logo_standard.png (red/white), bodycam_logo_gold.png (gold/red), or your own transparent PNG and name the copy bodycam_logo.png.
  2. Restart sonorancad.
No configuration change is needed. Automatic updates preserve bodycam_logo.png; delete it to restore the default gold/red logo.

Turning Off a Camera Being Viewed

The normal /bodycam toggle cannot turn your camera off while someone is viewing it in CAD. Have all viewers close the camera window and stop viewing its live map or active-unit preview, then try again. If a viewer disconnects unexpectedly, allow a short delay for the connection to clear. If your server has granted you force-off access, you can use /bodycam forceoff to stop it while viewers are connected. The in-game message only suggests that command when you have access; otherwise, wait until all viewers stop watching. Closing or losing one viewer does not end the camera feed for other viewers or interrupt an ongoing recording.

Beeps

The FiveM body camera plays periodic beeps while activated. These settings are separate from the desktop/web screen-sharing camera, even when CAD is opened inside an in-game tablet. Changing the CAD Modify Identifier > Bodycam sound settings does not change FiveM’s bodycam sounds.

Per-Player Commands

  • /bodycam sound 0 or /bodycam sound 0.0 mutes local bodycam sounds, including start/stop and reminder beeps. /bodycam sound 0.2 restores the default 20% volume.
  • /bodycam sound displays your current volume. Values from 0 to 1 are accepted. With beepType = "native", zero mutes the beeps, but nonzero values do not adjust GTA’s native sound volume.
  • /bodycam frequency 30 sets a 30-second interval. /bodycam frequency 290 sets a 290-second interval. Use whole seconds from 1 to 3600; /bodycam frequency displays the current value.
A frequency change restarts the reminder countdown using the new interval. It applies to your camera’s reminders, including the sound requests sent to nearby players; it does not change other players’ camera intervals. Local muting does not prevent nearby players from hearing your camera. Your volume and interval overrides reset when you reconnect or the resource restarts. If your server renamed the bodycam command, use its configured name instead. These commands require the updated FiveM resource. Server administrators must install the update and restart the resource before players can use zero-volume muting or the frequency command.

Server Configuration

In sonorancad/configuration/bodycam_config.lua:
  • beepFrequency sets the default interval in milliseconds. Use 30000 for 30 seconds or 290000 for 290 seconds. The in-game frequency command uses seconds.
  • enableBeeps = false disables the recurring beep loop, but does not silence start/stop tones or received nearby-camera beeps. A player frequency override does not re-enable a disabled loop.
  • beepRange determines how far away nearby players can hear the camera.
Restart the resource after changing its configuration.

Automatic Activation

The body camera will automatically activate when an officer activates their lights or draws a firearm.
  • autoEnableWithWeapons enables automatic activation when one of the weapons items are used.
  • autoEnableWithLights to enabled automatic activation when emergency lights are enabled.

Force Off

Use /bodycam forceoff to keep your bodycam off, including automatic activation and viewing requests. Use /bodycam to turn it back on. By default, force off requires the sonorancad.bodycam.forceoff FiveM ACE permission. CAD account permissions do not grant this access.

Grant Access

Add this example to server.cfg (or a permissions file executed by it), replacing YOUR_LICENSE with the player’s license identifier:
Repeat the add_principal line for each player. Restart the server to apply, or run the lines in the server console for immediate access.

Disable the Permission Check

To allow everyone to use force off, set this value in sonorancad/configuration/bodycam_config.lua:
Restart sonorancad to apply. To require a different ACE permission instead, set forceOffAce to that permission and use it in your add_ace rule. Other bodycam subcommands do not require this ACE permission. The bundled keybind permissions do not grant force-off access.

Unit Duty Requirement

By default, the requireUnitDuty configuration value is set to true. This requires the unit to be logged into the Police, EMS or Fire portions of CAD in order to activate their bodycam.

Animation

When toggling your body camera on or off an animation will play. To disable this, set enableAnimation to false.

In-Game Recording

By default, each recording includes a 30-second shadow buffer followed by 1 minute 30 seconds of video, for a maximum total length of 2 minutes. The shadow buffer length can be adjusted with recording.shadowBufferSeconds, but the total recording length cannot exceed 2 minutes. Recording can be started manually using a configurable keybind located under Keybinds -> FiveM -> Sonoran CAD. You can also enable automatic bodycam recording through recording.autoRecordEvents. Developers can also trigger bodycam recordings with a client event. Recordings can be viewed in the CAD under Unit Management > Body Cam Recordings

Attach Clips to Custom Records

In Administration > Customization > Custom Records, edit a template, add a Bodycam clips field, and save. See custom record templates for setup. Custom record field settings with Bodycam clips selected as the type. When creating or editing a record, click Select clip, choose a recording, then click Attach clip. Save the record. Bodycam clip picker showing a FiveM recording and the Attach clip button. Play the video directly in the record. The Paste URL icon also accepts an HTTPS video link. FiveM bodycam clip playing inside a custom record. CAD-hosted clips expire after 24 hours; attaching them does not extend storage. Third-party integrations can register external clips through the API. Those links remain usable while the host keeps the video available.

CAD Usage

Active Units

In the active units panel, hover over the camera icon to view a preview of their bodycam.

Window

Click on the active unit preview or the pop out button on the live map to open a dedicated bodycam viewer window.

Live Map

In the live map, selecting a unit or hovering near a unit in the 3D map will show the bodycam.