Spatial interface for FiveM
A headset your players put on, and windows they put down in the room. Not an overlay – the panels stay where they were left, and you walk around them.
Runs on ESX, QBCore, Qbox and standalone. RoadPhone is used when it is there and is never required.
| Settings | Vehicles | Map | Beat |
| Basketball | Drone | Environments | Photos |
| Messages | Friends | Notes | Clock |
| Weather | Calculator | Control |
1.70 × 1.31 m · the home screen, measured in metres like every other window
15 apps on the home screen, and your own server's apps beside them
7 widgets the wearer hangs on real walls – up to 12 per character
4 windows open at once by default, and that number is yours to set
Any framework – ESX, QBCore, Qbox or none at all
See it running
The release film · ▶ watch on YouTube · every app on roadvr.org
How a player uses it
01
Use the item, or bind a key if your server runs without one. The visor sits on the ped as clothing or as a streamed prop, whichever your ped models allow.
02
The home screen floats in front of you. F6 brings up the control centre instead: the switches, the environment and whatever the phone is playing, side by side.
03
Focus frees the mouse and locks movement; ESC hands it back. Drag the title bar to move a window across the room, the wheel pushes it nearer or further away. A window either follows you or stays where it was left – that is one switch.
What ships on the headset
The figure beside each name is the size it opens at, in metres. Panels are laid out at a fixed resolution and scaled to that size, which is what keeps the text sharp from across the room.
Everyday
1.50 × 1.00 m
Language, light or dark, which icon set, the accent colour, and how new windows open. Each player picks their own.
1.50 × 0.95 m
List on the left, editor on the right. With RoadPhone it reads and writes the phone's notes, so both places show the same list.
1.35 × 0.90 m
The camera roll as a grid. Open a shot and it gets a window of its own, which grows to wall size with playback controls under it.
0.80 × 0.60 m
In-game time, a stopwatch and a timer. No alarms – a headset is not where you set one.
0.62 × 0.92 m
Temperature comes from the server so everybody reads the same number; sky and time of day come from the client. Celsius or Fahrenheit.
0.58 × 0.86 m
Kept plain. No history and no scientific mode – this is the one you reach for mid-conversation.
Things to do in the room
1.30 × 0.82 m
Blocks fly at you down a lane and you cut them with two sabers, left hand red, right hand blue. Three tracks are included, and any .ogg or .mp3 you add is playable the moment it is listed in the config: the block chart is worked out from the music itself, so there is nothing to author by hand – and a hand-written chart wins if you would rather place them yourself. Three difficulties, combo multiplier, score screen.
1.00 × 0.72 m
Put down a real drone prop and fly it: assisted, or full FPV acro with an analogue throttle. Other players see the drone, because it is there.
0.95 × 0.66 m
A real hoop and a real ball, put down in front of you. Flick the mouse to shoot; it counts points and streaks. The window is the scoreboard, the game happens in the room.
1.00 × 0.78 m
Swaps the world around the wearer for a 360° panorama, with a slider for how far it takes over. Two panoramas are included – an old town street and an aquarium – and your own equirectangular images go in beside them.
On the road
1.60 × 1.00 m
Your garage with plates and parking state, and a valet who brings a car out to you. Already out on the street? Then it sets a waypoint instead.
1.05 × 0.80 m
A slice of Los Santos as a 3D table on the floor, terrain and all. Hold focus and move your head to push it around, the wheel zooms, and pins can be dropped on it.
1.25 × 0.85 m
Opens in the windshield when the wearer is behind the wheel, and goes away when they get out.
1.10 × 0.34 m
Speed and the way to the waypoint, low in the field of view where a windscreen HUD belongs.
People and the switches
1.40 × 0.90 m
Your own card with your tag on the left, who is online on the right. Requests go both ways and the list is saved per character.
1.50 × 0.95 m
A second screen for the phone's texts: read, answer, start a thread without taking the phone out. Needs RoadPhone; without it the app says so instead of failing.
1.90 × 1.15 m · F6
One key, one sheet: the switches, the running environment, see-through, and whatever the phone is playing. The button that takes the headset off is the red one, and it is the only red thing on the sheet.
Widgets
A widget is put on a real surface and stays there: sunk into the wall like a fitting, or standing off it like an object hung up. Only the wearer sees them, they are saved per character, and up to twelve can be placed.
0.34 m sunk in Clock – a wall clock, at wall clock size.
0.34 m sunk in Weather – paired with the clock: same size, same shape. The two hang next to each other on a lot of walls.
0.55 m sunk in Aquarium – the recess is the tank. The fish come to the glass when somebody walks up to it.
0.70 m stands off the wall Neon sign – a line of text in neon, wide and not tall.
0.50 m stands off the wall Photo frame – a shot from the camera roll: framed, bare, or as an instant.
0.26 m stands off the wall Calendar – a tear-off block, slightly taller than wide.
0.22 m stands off the wall Sticky note – write something, pick the paper tone and the shape.
For your own scripts
Your own resource registers an HTML page and its icon appears between the others. RoadVr is not modified in the process, so an update overwrites nothing. Wall widgets work the same way.
exports.roadvr:registerRoadVrApp({
id = 'myserver_dispatch',
name = 'Dispatch',
page = 'ui/index.html', -- a file in YOUR resource
size = { w = 1.1, h = 0.7 }, -- metres, not pixels
anchor = 'body', -- follows you, or stays put
})Push data in with sendToRoadVrApp, take it off again with unregisterRoadVrApp. Ten further exports cover windows and headset state, your own widgets, and putting the visor on another ped for scene work. The full list with parameters and return values ships as a readable file, and a working example resource is included.
Before you buy
Required
ox_lib · oxmysql · OneSync
Framework
ESX Legacy · QBCore · Qbox · standalone – detected at start, nothing to set. An empty item name means no item at all: then the headset is a command, or a key the player binds.
Database
Created on the first start, and an older installation has its missing columns added. The SQL file is included for database users without CREATE rights, and for anyone who wants to read the schema first.
RoadPhone
Optional. Version 2.6 or newer adds the Messages app, phone notifications on the headset, the music remote in the control centre, and shared notes. Anything older is treated as no phone, and the server console says so once at start.
Languages
Interface in English and German, chosen per player in Settings. Server notifications follow one setting for everyone. More languages are single JSON files – add your own and it appears in the picker.
Escrow
Protected with CFX.re asset escrow. The config, the export list, the language files and the framework bridge stay open and readable. Please make sure you are logged into the right CFX.re account before buying.
In the box, ready to run
Two panoramas for the Environments app, CC0 and re-encoded to about 2 MB each rather than the 36 MB the originals weigh – because every player downloads them once.
Three tracks for Beat, plus the menu loop and the three cut sounds. Your own music goes in beside them; the block charts build themselves either way.
The map terrain the GPS table stands on, and two example resources – one custom app, one custom widget – as working code to copy from.
Not in this version, so nobody is surprised: no voice or video calling, no panels shared between players, no multiplayer apps, no avatars, no embedding of arbitrary websites, no battery system. Third-party interfaces come in through the app API above.
Teaser
A first look, cut short on purpose · ▶ watch on YouTube
One config, commented line by line, and a diagnostic command in the server console that checks the bridge, the database, the language files and the phone, and tells you which of them is missing.
The product page, with every app and every widget in full: roadvr.org
Documentation: docs.roadshop.org · Support and updates through the RoadShop Discord.
RoadPhone - Light
RoadPhone-Pro
RoadPhone 1 Month
RoadPad - Lifetime
Panic Button
RoadPhone - Light
RoadPhone-Pro
RoadPhone 1 Month
RoadPad - Lifetime
Panic Button
RoadPhone - Light
RoadPhone-Pro
RoadPhone 1 Month
RoadPad - Lifetime
Panic Button
RoadPhone - Light
RoadPhone-Pro
RoadPhone 1 Month
RoadPad - Lifetime
Panic Button