Skip to main content

Environments

The Environments app surrounds the player with a 3D landscape. The windows stay where they are; only what is behind them changes. Three landscapes are built in, and they work the moment RoadVR starts — there are no image files to download or add:

Alpine Lake

A lake with forest and snow-capped peaks.

Sand Dunes

Rolling dunes and rocks.

Lunar Surface

Craters under a black, starry sky.
The landscapes are generated in the interface rather than loaded from pictures, so nearby geometry shifts with the head as it would in a real place.

For the player

  • Environments app: pick a landscape from its preview, set how far it wraps around you with the Immersion slider, and go Back to the world.
  • Control Centre (F6): the same choice, an on/off button and the slider on the right-hand side.
  • ESC while a landscape is up opens a small menu: Resume, Open map and Leave environment.
Walking faster than walkSpeed pulls the landscape back so the player can see where they are going; standing still brings it back. Getting into a vehicle, taking damage, dying or taking the headset off ends it. While a landscape is up, widgets are hidden unless the player turns on Widgets in an environment in Settings → Comfort, and windows cast no shadow.

Configuration

config.lua
table
The landscapes in the picker. scene is one of alpine, dunes or moon. Remove a line to take that landscape away; leave the list empty to switch the Environments app off.id has to stay stable — it is what Spaces save to bring a landscape back. An optional label replaces the name in the picker:
config.lua
label is shown exactly as written — it does not go through the interface’s language files. Without it the player sees the translated name.
number
default:"0.85"
Where the Immersion slider starts when a landscape is picked. It decides how far the landscape wraps around the player: at 1.0 it covers everything, lower values leave more of the world visible away from the view direction.
number
default:"1.4"
Metres per second. Walk faster than this and the landscape pulls back so the player can see where they are going.
number
default:"700"
Milliseconds of standing still before it comes back.
table
Apps that may not be open while a landscape is up, by app id.Each of them puts something into the world rather than into a window — a hoop, a lane, a board, a drone, the map table — and the landscape is exactly what stands between the player and the world. An app that is only a window has no reason to be listed: it sits in front of the landscape and stays perfectly readable.It works both ways: opening one while a landscape runs is refused with a notification, and starting a landscape closes the ones already open. Leave the list empty to switch the rule off. Darts refuses to run in a landscape even when it is not on the list.

Coming from panoramas

Before the built-in landscapes, the Environments app showed panorama images from public/environments/. That is gone:
  • Entries with image = '...' are ignored. A list made only of such entries falls back to the three built-in landscapes.
  • Config.Environments.texture is no longer read.
  • An old list = {} — which the panorama setup shipped with — now switches the app off. Replace it with the three lines above.

Troubleshooting

Config.Environments.list is empty. Add the built-in landscapes back — see the configuration above.
That is blockedApps doing its job. Remove the app id from the list if you would rather allow it. Darts is the exception and always refuses.
The player is moving faster than walkSpeed, or took damage. Walking pulls it back until they stand still for resumeDelay; damage, a vehicle or death end it.
They are hidden on purpose. Settings → Comfort → Widgets in an environment shows them again.