Introduction
ARS CarPlay is an in-vehicle infotainment system for FiveM servers. It renders a tablet-style dashboard (Apple CarPlay inspired) that opens with a configurable keybind (default F6) while you are driving. The UI is built with Preact + TypeScript and scales to any resolution via CSS transform: scale().
The resource ships as an escrow-safe Lua backend (no require(), load-ordered via fxmanifest.lua) plus a Preact NUI frontend (pre-built, included in the download). All framework-specific logic lives behind a unified Bridge global so feature code stays framework-agnostic.
Features
Section titled “Features”Core Features
Section titled “Core Features”- CarPlay Dashboard — Tablet form-factor UI with status bar, app grid, and persistent dock. Opens for the driver seat only; respects vehicle class blacklist (bikes, boats, aircraft disabled by default) and auto-closes on exit.
- Music App — Play direct audio URLs (mp3/ogg/m3u8) and YouTube links. Playlist persists in browser localStorage. Optional 3D positional audio so passengers and nearby players hear the music fade with distance. Auto-advance on track end.
- Vehicle App — Engine toggle, all doors (FL/FR/RL/RR/hood/trunk), side windows, headlight cycle (off → low → high), live fuel gauge (auto-detects 11+ fuel systems), engine & body health gauges. Pure GTA natives — no extra resources.
- Navigation App — Live driving readout (street, crossing, speed, 8-point compass heading), nearby POI search (fuel, hospital, Ammu-Nation, police, mechanic via map blips), set/clear GTA GPS waypoint.
- Radio App — Dual-mode: FM presets (GTA native stations, no deps) + Internet radio streams via Radio Browser API (thousands of stations, cached on server). Internet streams use the same xsound positional path as Music.
- Weather widget — Current weather type + approximated temperature + coarse region label (Los Santos, Sandy Shores, etc.) using natives only. Weather is a Home dashboard widget, not a dock app (there is no
weatherkey inConfig.CarPlay.apps). - Home / Phone / Messages / Settings Apps — Home dashboard with quick actions; Phone/Messages placeholders for future integration; Settings persists layout, last app, speed unit, and tablet position per vehicle or per player.
Integrations
Section titled “Integrations”- Frameworks — QBCore (
qb-core), QBox (qbx_core), ESX (es_extended). Auto-detected or pinned inconfig.lua. - Dependencies —
ox_lib(locales, callbacks, notifications, keybinds) — required.xsound— required for Music/Internet Radio audio (server-side exports sync positional audio to nearby players).oxmysql— optional soft-dependency for vehicle ownership checks (plate-scoped settings persistence).
Persistence (No Database Required)
Section titled “Persistence (No Database Required)”Settings (layout, last app, speed unit, tablet position) persist via browser localStorage backed by an in-memory server KV cache.
- Per-plate scope (default) — Each owned vehicle remembers its own settings (durable via localStorage). NPC/unowned vehicles stay in server memory only (cleared on restart).
- Per-player scope (optional) — One preference set follows the character everywhere (always persists).
- Ownership checked via
Bridge.IsVehicleOwned(queriesplayer_vehiclesfor QB/QBX,owned_vehiclesfor ESX) with a configurable fallback when oxmysql is absent.
Requirements
Section titled “Requirements”- ox_lib (ensure started before ars_carplay)
- xsound (ensure started before ars_carplay — audio backend)
- One of: QBCore (
qb-core), QBox (qbx_core), or ESX (es_extended) - oxmysql (optional, for ownership-gated persistence)
- (NUI is pre-built — no build tools needed on the server)
Commands
Section titled “Commands”Player Commands
Section titled “Player Commands”| Command | Description |
|---|---|
/carplay |
Toggle the CarPlay dashboard (default keybind: F6, remappable in GTA Settings → Key Bindings → FiveM). |
Admin Commands
Section titled “Admin Commands”None — all configuration is via config.lua (buyer-editable, listed in escrow_ignore).
Database Tables
Section titled “Database Tables”| Table | Framework | Purpose |
|---|---|---|
player_vehicles |
QBCore / QBox | Vehicle ownership check for plate-scoped persistence |
owned_vehicles |
ESX | Vehicle ownership check for plate-scoped persistence |
Note: These tables are only read (never written) by ars_carplay. oxmysql is a soft dependency — if not started, ownership falls back to
Config.CarPlay.ownership.fallbackOwned(defaulttrue).
Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.