All releasesVersion 0.2 to 0.3.0
Spaces Update
The complete 0.2-to-0.3 release: saved rooms, redesigned widgets, rebuilt basketball, Software Update, profile pictures, more languages and reliability fixes.
Download release notes ↓Added13
- Personal display and comfort preferences: adjustable glass opacity, stronger contrast, larger text, reduced motion, a default window distance, a preferred launcher view, optional native popups and popup duration.
- Spaces: save up to six personal rooms with app windows, nearby widgets and an environment. Use portable layouts wherever you go or anchored layouts near their saved location. Update and delete saved rooms explicitly.
- Destinations: save up to twelve favorite places from your current position or a map waypoint. Follow an AR direction indicator with straight-line distance alongside the GTA waypoint.
- Meeting points: invite a friend to a destination. Sharing requires acceptance, expires after 45 seconds and sends a single location rather than continuously tracking the sender.
- Launcher favorites and history: pin up to six apps and quickly reopen the four most recently used apps, including custom SDK apps.
- Native notifications: timer, valet and invitation cards can open their related app. Do Not Disturb silences popups while retaining the cards.
- Persistent session timers: close the Clock window without stopping its timer. Pause, resume and reset it, with one notification on completion. Taking off the headset resets the timer.
- Beat rematches: challenge the previous opponent again with the same song and difficulty through a fresh invitation.
- Clock widget designs: choose Studio or Midnight analogue faces, or a wide Flip clock. Each design has its own case, date display and proportions. Existing clocks without a saved design keep an analogue face.
- Replace a wall widget: choose another widget directly from its editor. Replacement keeps the wall position and existing slot, including at the twelve-widget limit, and adjusts the shape for the selected widget.
- Software Update in Settings: see the installed version, available version, release notes and check status. Automatic and manual checks read public version metadata; installation remains a server-owner action.
- Profile picture gallery: choose a photo from the supported RoadPhone camera roll or enter an image URL in Friends. Preview the selection before saving; cancelling discards the draft.
- Spanish and Italian: interface translations and Lua notifications join English and German. Players choose their interface language in Settings; server notifications use
Config.Locale.
Improved16
- The widget menu is now a floating glass library with larger live previews, readable labels, a clear capacity indicator and responsive page buttons instead of scrolling. Choosing content collapses the library into a compact toolbar so the editor and placement controls stay visible.
- A refined material system gives windows layered glass surfaces, soft highlights, rounded groups and consistent pill controls in both themes.
- Notes uses subtle neutral selection and focus indicators; writing fields show a fine underline instead of a bright blue focus rectangle.
- Launcher icons and app controls no longer retain white or blue focus frames after keyboard input or selecting a field, including the language selector.
- Settings has dedicated categories for appearance, glass and text, windows, home view, comfort, notifications, general settings and software updates. Display controls include live previews and save feedback; the preferences layout fits at both supported text sizes.
- Vehicles, Notes, Friends, Spaces and Destinations have redesigned layouts, clearer visual hierarchy and grouped actions.
- The launcher spreads apps across up to three wide rows without scrolling. Extra custom apps use previous/next buttons. Saved launchers adopt the new proportions while preserving placement and the chosen scale within the supported resize limits.
- Beat duels use normal speed and matching failure rules for both players. A forfeit lets the opponent finish; the shared deadline follows the track duration instead of cutting a longer song short after the first finish.
- Valet orders show preparation, delivery and failure states, including a delivery failure after payment. Timeouts handle stalled or missing drivers.
- Room switches check app access and available capacity before applying a layout, preserve distant widget walls and leave saved templates unchanged.
- The Weather widget is now an illustrated station with day, night, cloud, rain, storm, snow and fog states. It shows temperature, wind speed and direction, daylight progress and the next sunrise or sunset using game-world readings and configured daylight times, with fallbacks for missing values.
- The Calendar gains ring binding, layered paper, month and year, and a weekday marker. Sticky notes gain tape and a folded corner while keeping their paper colours and square, wide or tall formats.
- Basketball includes a bundled portable hoop with matching board and rim collision and an open visual net. The app places it on detected ground and provides ball-return and hoop-placement controls.
- Basketball offers timing, flick and power-meter controls with clearer charge, aim and release feedback. Shot planning accounts for distance and height; misses distinguish short, long, left and right.
- Fixed widgets reuse their transforms and resting panels retain stable world positions while the camera moves. Arrangement changes request their own movement animation. Reduced Motion disables window glide, and gaze changes no longer trigger decorative transitions.
- Interface translations cover the new controls, save feedback and error states.
Fixed18
- The launcher's filter bar, favorites button and page arrows now follow the selected theme instead of retaining dark surfaces in light mode.
- Widget previews now inherit their typography and spacing tokens and preserve each widget's proportions. Widget and editor component definitions no longer become reactive Vue state, eliminating the associated rendering warnings. Mounted widgets can change type without keeping the previous face.
- Moving or replacing a widget at full capacity no longer consumes another slot. Cancelling a move restores its original data and position; switching editors keeps the correct replacement target, and failed replacements can be retried.
- Rapid Settings edits could finish saving out of order. Writes now preserve edit order across window closure, retain pending previews and reject queued writes from an expired headset session. Failed requests remain retryable.
- Failed or stale profile loads could allow empty settings or layouts to be saved. Interrupted setup could also overwrite an existing widget wall.
- Destinations shows saving, saved or failed status and offers a retry. Success waits for the server's database acknowledgement, with duplicate submissions blocked and expired-session replies ignored.
- Profile writes remain ordered even if an earlier database query outlives a UI timeout. Partial updates preserve destinations; pending saves are submitted on resource shutdown. Database errors no longer leave the write queue locked.
- Restored windows no longer collapse into a stack after rejoining or moving away. Nearby placements are retained; distant windows are arranged with gaps around existing panels. Pinned windows retain their anchor mode, and overflow rows preserve their height when following or opening an app from the launcher.
- Notes refreshes and delayed save responses could overwrite unsaved edits. Saves and deletions now check their result; oversized content is rejected instead of silently truncated.
- Overlapping valet requests and duplicate callbacks could repeat payment or spawn work. Orders now use server tokens and reject stale responses; locating a vehicle checks ownership before returning its position.
- Simultaneous Beat invitations, delayed replies and messages from old rooms could corrupt duel state. Challenges reserve participants, validate song, difficulty and score metadata, and reject mismatched room messages.
- Friend presence updates did not consistently reach the correct UI entry.
- Avatar saves wait for database confirmation before changing the profile card or cached picture. Failed previews and gallery loads have recovery states; stale requests and replies from another character cannot update the editor.
- Basketball scoring checks a downward crossing through the usable rim opening and counts it once. Upward crossings and balls overlapping the rim wire do not score. Charge timing uses elapsed time rather than frame count.
- Basketball cancels charging when an app panel opens, so panel clicks cannot release a ball. Returning a missed ball ends the streak; delayed throw animations cannot affect a later shot. Failed placement preserves the old hoop, and closing during loading prevents late props or leaked entities.
- Update checks share a server-side request and cooldown, reject invalid metadata and ignore late replies. Failed checks keep the last known result visible without claiming that an unavailable version check succeeded.
- Some UI requests could remain pending indefinitely or use the wrong resource name. Requests now have a timeout and resolve the running resource name.
- Late callbacks could restore obsolete UI state or leave temporary entities, markers and notifications behind after a session ended.
Website4
- Added a changelog archive, permanent release pages, category links and a Markdown download. The full 0.2-to-0.3 notes are available on the website; future releases can be added without changing existing release URLs.
- Expanded the product page with Spaces, Destinations, everyday improvements, comfort controls and server FAQs. The app catalogue lists all seventeen built-in apps. Existing testimonials are retained.
- Added interactive app examples and a gallery of all seven built-in widget types. Visitors can try clock designs, sample weather, note text, colours and shapes, photo styles and neon text. Widget and panel styles are sourced from RoadVR; website examples use local sample data.
- Removed decorative launcher corners and updated desktop and mobile layouts. The widget wall photo has its own section state, so the preceding video player no longer remains active behind it.
Updating6
- Replace client, server, shared files, streamed assets and the built NUI together. Profile callbacks, widget editing and Beat messages changed.
- Preserve server-specific configuration and merge the new options. Servers retaining an older basketball configuration should apply the bundled hoop's matching model and geometry settings.
- The
roadvr_spaces database table is created automatically on startup. - Configure automatic version checks through
Config.Updates. The Settings page reports version information; it does not download or install an update. - A confirmed valet fee can remain charged if delivery later fails; there is no automatic refund.
- Local regression checks and UI builds do not replace in-game acceptance. Game-to-NUI latency still depends on frame timing and hardware.