Skip to main content

Cameras

Three camera systems — rear-view camera, security camera (360° sentry), and dashcam with cloud upload.

This section

Cameras

Carplay V2 ships with three independent camera systems. Each can be enabled, configured and gated separately.

SystemPurposeRecording?
Rear CameraQuick rear-view (parking, reversing)No
Security Camera360° sentry mode with full FOV controlYes
DashCamFront + rear angles with overlay (plate, speed, time)Yes

1. Rear Camera

A scripted rear-view camera that attaches to the back of the vehicle and follows rotation in real-time.

How It Works

  1. Tap Rear Camera in the dock (or the rear-cam quick button)
  2. A scripted camera attaches to the vehicle's rear
  3. The camera follows the vehicle's heading every frame
  4. Press the configured exit key to return to normal view

Custom Per-Vehicle Offsets

Some vehicle models (especially addon vehicles) need the camera positioned differently. Define per-model X offset:

lua
Config.CustomRearCamera = {
["duel"] = { x = 2 },
["mymodel"] = { x = 1.5 },
}

Configuration

OptionDefaultDescription
Config.RearCameraExitKey167GTA control index to exit (see FiveM controls docs)
Config.CustomRearCamera{}Per-vehicle X offset overrides
Config.Modules.RearCameratrueShow rear camera module
Config.DockButtons.rearCameratrueShow rear camera dock button

2. Security Camera (360° Sentry Mode)

A full-featured sentry-style camera that lets the player control a virtual camera attached to the vehicle exterior with full pan, tilt and zoom. Ideal for parked vehicles in stash spots.

Features

  • 360° pan and tilt with mouse
  • Zoom between configurable min and max FOV
  • Four default angles — front, rear, left, right (instant snap)
  • Visual filter — security-cam timecycle with strength control
  • Animated noise — adjustable
  • NUI overlay effects — scanlines, vignette, corner brackets, timestamp, animated static texture
  • Recording up to 5 minutes (configurable max)
  • Cloud upload — Fivemanage or Discord webhook
  • Stored history — last N recordings per player browseable in the UI

How It Works

  1. Open the Security Cam app
  2. Camera attaches to the vehicle with the default angle
  3. Mouse to look around, scroll to zoom, number keys for preset angles
  4. Press the record button to capture; press again to stop
  5. Recording uploads to the configured provider in the background
  6. Past recordings appear in the Recordings tab

Configuration

lua
Config.SecurityCamera = {
enabled = true,
fov = 70.0, -- default FOV
minFov = 20.0, -- max zoom in
maxFov = 110.0, -- max zoom out
defaultAngle = "front", -- "front" | "rear" | "left" | "right"
cameraHeight = 0.6, -- meters above vehicle center
cameraDistance = 0.3, -- meters beyond vehicle edge

-- Visual filter (GTA timecycle modifier)
filter = "CAMERA_secuirity", -- or "CAMERA_secuirity_FUZZ", "scanline_cam", "scanline_cam_cheap", false
filterStrength = 1.0, -- 0.0 - 1.0
noise = 0.15, -- 0.0 - 1.0

-- NUI overlay effects
overlay = {
scanlines = true,
vignette = true,
corners = true,
timestamp = true,
noise = true,
},

-- Recording
recording = {
enabled = true,
maxDurationSeconds = 300, -- 5 min
maxRecordingsPerPlayer = 20,
},

-- Permissions
jobs = {},
discordRoles = {},
}

Permission Gating

Use Config.SecurityCamera.jobs and discordRoles to restrict access. See Permission System.

Module Toggle

OptionDefaultDescription
Config.Modules.SecurityCameratrueShow security camera module

3. DashCam

A driving dashcam with front and rear angles, overlay information (plate, speed, timestamp) and recording with cloud upload. Designed for incident capture.

Features

  • Front and rear angles — toggle in real-time
  • Configurable FOV and offsets
  • Visual filter — same options as security cam
  • NUI overlay — scanlines, vignette, corners, timestamp, speedometer, plate number
  • Recording with auto-upload to Fivemanage or Discord
  • Focus key to interact with UI buttons while driving (F9 default)
  • Recordings list with playback, download links and metadata

How It Works

  1. Tap the DashCam dock button
  2. The dashcam UI overlays the front view (or rear, configurable default)
  3. Press record to start capturing
  4. Drive normally — overlay shows live speed, plate, and time
  5. Press F9 (or the configured focus key) to gain mouse focus and interact with buttons
  6. Stop recording — clip uploads in background
  7. View past recordings in the Recordings tab

Configuration

lua
Config.DashCam = {
enabled = true,

fov = 70.0,
defaultAngle = "front", -- "front" | "rear"
cameraHeight = 0.5, -- meters above vehicle roof
cameraDistanceFront = 0.2, -- forward of front bumper
cameraDistanceRear = 0.2, -- behind rear bumper

filter = "CAMERA_secuirity",
filterStrength = 0.7,
noise = 0.1,

overlay = {
scanlines = false,
vignette = true,
corners = true,
timestamp = true,
speedometer = true,
plateNumber = true,
},

recording = {
enabled = true,
maxDurationSeconds = 300,
maxRecordingsPerPlayer = 20,
},

-- NUI focus toggle (allows clicking UI buttons while driving)
focusKey = "F9",
focusCommand = "dashcam_focus",
focusBindDescription = "Toggle DashCam Focus",

jobs = {},
discordRoles = {},
}

Module Toggle

OptionDefaultDescription
Config.Modules.DashCamtrueShow dashcam module
Config.DockButtons.dashCamtrueShow dashcam dock button

Recording Upload — Fivemanage vs Discord

Both Security Cam and DashCam can upload recordings to either provider. Set in server/config.lua:

ProviderFile limitSetup
FivemanageUnlimitedAPI key from fivemanage.com
Discord25 MBWebhook URL
lua
ServerConfig.DashCamUploadProvider = "fivemanage" -- or "discord"
ServerConfig.DashCamFivemanageApiKey = "YOUR_API_KEY"
ServerConfig.DashCamDiscordWebhook = ""

-- Security Cam can use separate destinations (or leave empty to inherit dashcam settings)
ServerConfig.SecurityCamUploadProvider = "fivemanage"
ServerConfig.SecurityCamFivemanageApiKey = ""
ServerConfig.SecurityCamDiscordWebhook = ""

Database

Recordings are tracked in the code9_carplay2_dashcam table. See Database.