Skip to main content

Apps & Widgets

Two different things live in the headset. Apps open as floating windows you can move, resize and push away. Widgets stick into a wall and stay there.

Apps

Press F7 for the home screen and every app is one tile.
Two of the ones below are not tiles on the home screen: the Cockpit and the HUD belong to the car and come up when you drive. A handful of others — the single-photo viewer, the cinema bar — are opened by the app that owns them rather than by you.

Settings

Theme, accent colour, interface language, default anchor. Each player’s own — a server setting does not override it.

Control Centre

One key for the things you reach for constantly: what is playing, what came in, whether windows follow you, which environment is on.

Media

YouTube in a window, with the remote in the control centre. Ships as its own resource in examples/roadvr_mediaappensure it and it takes its place on the home screen like any other app.

My Car

Your vehicle, plus Valet — have it brought to you.

GPS

A 3D map table you can lean over, not a flat minimap.

Environments

Replaces the world around you with a panorama. Ships without images — see Environments.

Weather

In-game weather, wind, sunrise and sunset.

Clock

The in-game clock and calendar.

Calculator

Exactly what it says.

Notes

Written notes, saved to the player’s profile.

Messages

The phone’s SMS threads as a second screen. Needs RoadPhone — without it the icon stays and the app says messages are unavailable. Toggle with Config.RoadPhone.messages.

Photos

Your gallery, with a cinema view that puts a picture on a curved screen.

Drone

Fly a drone and watch its camera feed in a window.

Cockpit

Instruments that hang in front of you while you drive.

HUD

A compact status strip in your field of view.

Basketball

Place a hoop and shoot.
Apps written by other resources appear on the same home screen, next to these. See Custom Apps.

Widgets

RoadVR widgets stuck into a wall
Press G, pick a tile from the bar, carry it to a wall and let go. The mouse wheel resizes the one you are carrying.

Clock

An analogue face, recessed into the wall.

Weather

Temperature and conditions at a glance.

Note

A written note that stays on the wall.

Photo

A picture from your gallery, framed.

Calendar

The in-game date.

Sign

Free text, for labelling a room or a door.

Aquarium

A window into water. It does nothing useful and everybody hangs one up.
Widgets belong to the player, not to the resource that provides them. A resource restarting leaves them on the wall showing an unavailable plate until it comes back — they are never silently removed from somebody’s room.

Custom Widgets

Add your own widget kinds from your own resource

Limits worth knowing

number
default:"4"
How many app windows can be open at once.
number
default:"12"
How many widgets one player may have on walls.
number
default:"3"
How many widgets may hang within clusterRadius metres of each other. Config.Widgets.max is the ceiling for the whole character; this is the ceiling for one spot, and it is the one that decides what a single picture costs. A fourth in the same corner is refused and stays in the hand.Only new placements are checked — a wall that is already fuller than this keeps everything on it. Set it to 0 to switch the near limit off and leave only max.
number
default:"5.0"
Metres. What counts as “the same spot” for maxPerCluster. Measured against the widget’s position, not the player’s view — where somebody happens to be standing must not change whether a wall is full.
number
default:"10.0"
Metres. Beyond this a widget is neither drawn nor tested against walls. It stays saved — this is only about what is worth rendering.Held below Config.Fade.panelDistance in code: a widget is gone by the time the app windows even start to fade. Decoration must never outlive the workspace, so raising this past that has no effect.
number
default:"6.0"
Metres. How far away a widget may be placed.
number
default:"2.2"
Metres. How close the wearer has to be for a widget to notice them. Only widgets that do something with it care — the aquarium, whose fish come to the glass when somebody walks up.
number
default:"4096"
How much content a single widget may carry — the photo it shows, the text on a note. It lands in the profile JSON, so it needs a ceiling. Anything over is dropped rather than trimmed: half a URL is worse than none.
number
default:"3"
Once this many app windows are open, the widgets step aside so the view does not fill up.