Player Colors
Choose between preset 15 color pallets to associate with yourself via your profile page in the Main Menu
Applies both locally and on remote clients for:
- Controller Ray
- Object & Player Highlight
- Camera Indicator (synced)
- Dropped Portals (synced)

Camera Indicator Overhaul
The Camera Indicator has been completely reworked with a fancy new model, support for the new player colors, and a neat little animation when capturing an image!
Big thanks to Exterrata and Racush for their work on this

Portable Camera Changes
New settings are now available to take more betterer pictures, including:
- Show World mask (for transparency)
- Lock Portable Camera UI
- Anchor Camera viewport in world space (VR Only)
- Pin to Player and Pin to World
- Stereoscopic (side-by-side) capture mode
- Support for custom sounds
- ...and more!
Native Modding UI Library
The popular UI library mod is now natively implemented for developers to tinker around with!
This also includes a Player List and Selector in the quick menu for easy access, as well as all of the usual player and self-moderation settings normally available on user profiles.

Mini Me
Presenting the latest improvement in mirror-dwelling technology: Mini Me
Can't get enough of yourself in a mirror? Why not the menu as well?!

Portable Mirror
We heard you like mirrors, so we gave you more mirrors!
Now accessible from the Quick Menu, a mirror can be spawned from anywhere with various customization options to fit your needs.
ChatBox
Text chat messages can now be sent and seen by users in the same instance
- Visibility settings
- Parameter Stream integration
- Works alongside Text-to-Speech
- Support for custom sounds

New Login UI
Makise has invaded the UI and will now greet you when logging in

Full Changelog:
- Added AddSpacer to UILib Category element
- Added an attempt to fix invalid URLs that would get rejected by the game server
- Added an instance creation timeout to give up checking if the created instance is up
- Added a toggle to keep the current velocity upon exiting flight mode
- Added automatic retry logic if authentication did not receive a response from the Voice Server
- Added Avatar/Prop/World menus remembering which category was opened across restarts
- It should open the official tabs when there's no previous category selected
Added copy deeplink to instance pageAdded CVR Material Data ProviderThis Component can be used to bind information to Materials such asTransforms matrices, for the current frame, and last frameMesh Vertex and Index Information (read and writable)Skinned Mesh Renderers Vertex Information for the current (read and writable) and last frameRender Textures as read write TargetsAdded CVR Render ControllerThis component is used to control the execution order of the CVR Material Data Provider and the CVR BlitterThis component can also be used to instantiate Meshes on a per Instance of a content basis, in order for the modifications to a mesh to only happen to that specific instance.Added CVR Utils tab to the left of home on the tab barAdded experimental Mini Me utility to Quick MenuThis will spawn a 0.5m tall clone of yourself which you can grabThis is being used as a test for the Content Clone system which is used by the Show Attached Props in Self Mirrors graphics optionAdded extra logs related to skipped clients for OSCQuery when the OSC verbose option is activeAdded group moderated badge to instance details viewAdded handling for instance World changeAdded handling for when Unity Explorer (mod) overrides our event system input moduleDesktop input is now disabled while Unity Explorer is openAdded hidden text mode to keyboard (for password/secret fields)Added icons to Prop details pageAdded initial native ChatBox implementationAdded visibility settings for the local nameplateAdded parameter stream for ChatBox IsTypingAdded ChatBox to CVRAudio mixerAdded the key Y (without any modifier) to open the Text Comms promptSwapped TTS button to trigger ChatBox/TTS based on settingsSupport for Custom SoundsAdded Instance Info tab to "Game Information" block of big menuAdded menu push notification when user selects an OSC face tracking module with OSC disabled to remind them to enable OSCAdded native implementation of Self PortraitYou can find it's toggle in the new CVR Utils tab on the Quick MenuYou can adjust the settings for it under the User Interface settings categoryAdded new eye tracking module to follow the interaction ray pointerThis is set as the default and can be disabled in Implementation settingsIn Desktop your eyes will follow your mouse while it is unlockedIn VR your eyes will follow your active controller ray while a menu is openAdded open in Hub buttons to all content pagesAdded physical up/down arrow keys to go up/down the line, and if not multiline goes up/down historyAdded physical up/down arrow keys to go up/down the line, and if not multiline goes up/down history (similar to how the virtual arrow keys work)Added Player ColorsYou can now choose between preset 15 color pallets to associate with yourself via your profile page in the Main Menu.The selected color scheme will apply both locally and on remote clients. Currently, these will apply to:Controller RayObject & Player HighlightCamera Indicator (synced)Dropped Portals (synced)Added Playerlist to the QuickMenu, if you're familiar with it from UILib it's the same!This includes the player quick settings that appear in itAdded position/rotation to auth packetAdded simple update notice on first big menu openAdded spawn radius option to CVRWorldAdded the ability to toggle rank visibility on the nameplate for those who have itThe rank information will always display in the User Details page of the Main MenuAdded verified event group badge to group details viewAdded warning when joining a Group Moderated instance (More info to come shortly)Adjusted half-body IK neck stiffness to reduce the amount your spine and hips are affected when rotating your headAdjusted how voice ping is handledAdjusted initial XR loading to fix an issue where attempting to start XR and failing would lead to the client partially thinking you are in VRAdjusted interaction highlight to only render in player camerasAdjusted Quick Menu styling to better integrate the UILib tab barAdjusted the terrain foliage fix to once again only run in Legacy Worlds (2019 Asset Bundles)Built replacement schedule system and moved all jobs onto itThis should fix some strange issues where jobs failed to be removed and accumulated over time causing significant lag in some situationsChanged Nameplate render queue to 3010This should address some worlds unintentionally over-rendering NameplatesChanged so if you ever accept the group alert to a specific instance, you won't be prompted againbefore it would prompt again if 10 mins had pass or when changing instancesCleaned up ImageCache handlingCompletely reworked avatar/prop/world list fetching and API interactions**Completely reworked Vote Kick functionalityRequired participant count is now dynamic based on the amount of users in the instance instead of hard-coded at 50% or moreThe more users in the instance the less percentage of users need to agree, minimum of 25%The result of the vote kick is now announced to all users who participatedThe initiator of the vote kick is now immediately counted as a vote against the target userRemaining lifetime of a vote kick is now reset when receiving a vote instead of the hard-coded 30 secondsTarget user will now be kicked as soon as the votes reach over the calculated threshold instead of waiting down the vote lifetimeHUD messages are sent to all EligibleParticipants for start and end with result informationTarget is alerted without revealing who did it via HUD messageVote Kick cannot be started with 2 or less users in the instanceCurrent state of vote kicks are displayed on all eligible participants vote kick message including current votes for, against, threshold, and time remainingContent will no longer immediately unload on destructionThis should help to alleviate needless hitches when content is immediately respawnedFire HUD notifications when certain GS settings are changedFix content filter settings scroll not working if you touch between elementsFix CVRUIManagerBaseInput destroy getting angry if ran before CohtmlInputSystem existsFixed an error during async instantiate that could lock up the object loader if the source bundle was unloaded or did not contain any objectsFixed an error when loading a World with a unreadable mesh asset with no mesh dataFixed an issue where while filtering a World scene an error occurring would prevent connection to an online instanceFixed Avatar & Spawnable Pickup Markers leaking texturesCalling SetGuid with an invalid ID will also now clear the pickup marker properlyFixed comms client not removing registered pipelines on user disconnectFixed current instance info being cached for 10 minsbasically you wouldn't show yourself as online in the instance after you created and joined itFixed current instance info being cached for 10 minsbasically you wouldn't show yourself as online in the instance after you created and joined itFixed destroyed portals hanging around for slightly longer than they should have beenFixed Exit button in login room not doing anythingFixed eye tracking target position execution orderThis fixes eye tracking applying relative to the underlying animated pose of the avatar instead of after IK had been solvedFixed forced world transition effect not having its duration respectedFixed group members list scrolling being inconsistentFixed group members paginationFixed instance join target not being reset when logging outFixed issue in texture parsing where content load could throw an exception in some casesFixed local camera indicator appearing in taken photos in some casesFixed Magica Cloth 2 global interactions not workingFixed Magica Cloth gravity zone interaction not working correctly for avatarsFixed memory leak related to profile images on nameplatesFixed menu leaking VRAMFixed object/player highlighting instantiating the source meshThis should fix the interaction highlight for players or props with magica cloth not appearing as it shouldFixed OSCQuery filtering out valid clients (oops)Fixed Parameter Stream `IsPrivateInstance`, `IsPublicInstance`, and `IsGroupInstance` entriesFixed Portable Camera post processing volumes applying to Player & Path camerasFixed potential for duplicated eye movement targets when creating player mirror reflection targetsFixed potential issues with CVRAdvancedAvatarSettingsTrigger with multiple delayed triggers firingFixed proximity grab highlight not creating the highlight with filtering pass for nested interactablesFixed regression GameInstanceController UpdateTeamList not handling local player properlyFixed regression of invalid AAS check being busted for lifetime of remote player after first successful validationFixed remote synced world objects losing collision with the local playerFixed Steam Overlay screenshots saving in the wrong color spaceFixed telegrab not actually "grabbing" the pulled object if grab is held when they cross the handFixed telepathic grab toggle not working when directly aiming at a pickupFixed the client forgetting a World is legacy content when rejoining itThis would cause several legacy content mitigations to no longer be effective after a rejoin, like the terrain foliage fixFixed the clients IsLegacyContent check not being functionalFixed the graphics selection not being initialized in the menuFixed the local camera not being grabbable once pinnedFixed transition dropdown not properly enabling colour pickersFixed TTS modules and voices not loading on the menuFixed TTS not showing the current selection when loadingFixed various issues with raycasting menus in weird casesFixed world anchor menu not resetting on VR mode switchFixed world pre-load not displaying progress meterFix game resolution showing as undefined when manually changing the window sizeGameObjects on CVRReserved or Internal layers are now moved to Default on scene loadIt is not recommended to upload with GameObjects on these layers. Undesired behaviour may be introduced as we change how we use these layers internally. A notible instance of this is the Audio Link config panel prefab, which is redistributed on an “illegal layer”, which during this Nightly cycle became invisible to the player as we changed what we use the layer for.Hooked up portable mirror to Quick Menu buttonUpdated UI with new icons and a delete buttonYou can spawn up to 4 mirrors from Quick MenuImplemented Avatar/World/Prop list sorting optionsImplemented Dynamic Plates - All staff tags are now powered by dynamic plates - Added additional templates for newer rolesImplemented Dynamic Plates on clientImplemented dynamic tick rate controlled by GSThis is an experimental feature, you may find it being tested randomlyImplemented eyes pupil dilation and constriction for face trackingImplemented graphics option to see held/attached/seated props in self cameras (player-only mirrors, self camera, self portrait, etc...)Implemented local player nameplatesAdded handling for newer GS rank info and API rank info changesImplemented MockHMD toggle for debugging SPI compatibility in Desktop without VRThis can be found in the CVR Utils tab of the Quick MenuImplemented new Haptic Touch feature which plays controller haptics when touching objectsBy default it is limited to only interact with other players avatarsConfigurable in the Interactions settingsImproved behaviour of selecting an input field which does not pop the CVR KeyboardImproved Menu VRAM usageIntegrated comms authentication state into voice reconnection logic and comms HUD indicatorInvert movement direction for upside-down orientation in VRLimited props and avatars to a max of 1000 total renderers to avoid a Unity bug causing a game freezeMade avatar advanced settings send as unreliableJust like the prop sync change this should increase the speed that settings sync, shouldn't have any major issues probablyMade guardian disconnect messages actually appear properlyMade instance world change preload target worldMade LoginRoom audio sources use world output mixer groupLoginRoom audio level can be controlled using world volume sliderMade modals darken the main menu as well as disable input while openMade nameplates show when the cursor unlock key is pressed when nameplates are set to Menu Only to match VR behaviourMade outbound comms network messages wait until successfully authenticatedMade Prop update send as unreliableIn testing this seems to have greatly increased the stability and speed for prop movement, we'll have to monitor for potential weirdness, but looks good so farMade some changes to the keyboard (Puff Machine)Fixed vertical alignment of placeholder textFixed placeholder text blocking clicks on the input elementImproved responsiveness when using a physical keyboardThe caret no longer lags behind the typed text or gets stuck when using key repeatThere is no longer a delay between the first typed character appearing and the placeholder text disappearingImprovements to keyboard historyPressing up with no history no longer results in "undefined"Pressing down while in the present no longer clears the lineThe current line is saved and restored when entering and exiting historyHidden text is no longer added to the historyMade the CVR Keyboard aware of multiple variables of selected in-world input fields:Multi-lineCharacter countPlaceholder textTitleMade the list of face tracking modules in settings dynamic (Puff Machine)Made the Steam Screenshot hook ignore Save to Steam Library toggle in the Portable Camera settingsMade UILib native (A stub exists for mods depending on UILib)Made wormhole portals 50% biggerMake all menu views optionally be coloured by player colourThis is off by default, you must enable "Colourize Menu" from the User Interface category of settingsYou are able to adjust the max brightness of the primary menu colour from User Interface settings as wellMake the Cohtml menus collider disable later in the closing animation, so the raycast beam doesn't clip through while the menu is still fully opaqueMultiLineNewline line type is now forced to MultiLineSubmit due to the CVR Keyboard not supporting this input modePortable Camera AdjustmentsAdded Show World mask optionToggling this off allows you to capture transparent photosAdded button to lock Portable Camera UIAdded button to anchor Camera viewport in world space (VR Only)Added a Pin to Player option alongside Pin to WorldAdded Stereoscopic (side-by-side) capture modeAdded camera setting for mirrors to inherit disabled layersThis means if you disable the local/remote players in the portable camera capture they also wont display in mirrors rendered within that captureAdded always-displayed tooltip for Desktop Camera keybindsMade the Camera anchored to screen like the menus when on DesktopTweaked Drone Mode to make it a bit less jank when toggling itTweaked the Camera settings panel a bit to make a bit more Desktop-friendlyFixed panoramic capture not respecting post processingFixed hitting reset on the the FPR Debug & Capture Integrations settings headers resetting all camera settingsAdded Camera setting to disable rollpotential fix for avatar leaking materialsPotentially addressed issue where world load could cause the game to crash in specific situationsPotentially fixed multiple setting dropdowns not being initializedPrevent saving the default TTS voice when the previous one is not availableThis should prevent you losing the selection of a voice provided by a mod is the mod is temporarily turned offRegistered missing bold NotoSans font to menusRemoved arm weight being included in the VRIK footstep solverThis fixes your legs gravitating towards your controllers or legs stepping when moving your arms outwardRemoved closing the QM opened keyboard when the QM closes while in VRRemoved CVRAvatar from the RootComponent whitelist shared by PropsRemoved debug page from Quick Menu, added playerlist in it's placeRenamed the Community Guide rank to HelpfulThis was done to make the role more clearAlongside this, we will be reaching out to more community members to offer this roleRenamed the settings category from `Audio & Voice` to `Audio & Comms`Reworked how material instantiation works, should provide a slight speed up to filtering contentReworked the terrain foliage fix to better handle reloading an already loaded Legacy WorldUnground the player if the applied gravity direction is similar to a 70degrees slope, which is around the limit where a human can still standThis fixes the broken gravity zones issue that was introduced during r180Updated Christmas event objects and such (soon™)Updated CVR Blitter to add the ability of binding multiple Render targetsThe CVR Blitter can now be used to write information to multiple Render Textures at the same timeUpdated default Oculus Touch SteamVR bindingsAdded the `mute` action to left controller `X` buttonMoved `jump` action from the left and right controllers `thumbstick` click to just right controller `A` buttonAdded the `gesture lock` action to left controller `thumbstick` clickAdded SteamVR skeleton input to the default Oculus Touch bindingsUpdated login UI and changed how login room worksUpdated Magica Cloth 2 to 2.16.3Updated MetaPort CurrentInstanceName and CurrentInstancePrivacy on GSInfoUpdate receiveUpdated the Camera Indicator (Exterrata & Racush)The camera indicator has been replaced and given new animations and color.The capture timer and screenshot are also now visualized using a ramping up spin leading to an outward flash. Thank you Exterrata for the new camera indicator and Racush for the flash FX!These new visual effects are also now synced over the network, so you can now tell when a picture is taken by another user.Updated to Unity 2022.3.58f1Various unified to legacy expressions conversion fixesVLC Changes (Malthbern)Updated VLC-Unity binariesThis fixes the crashing issues VLC had previouslyGave the subtitle selection more room to breathAdded a tag on subtitle tracksThis fixes tracks that don't have names showing up blank on the selection dropdownFixed a bug where if 2 or more subtitle tracks have the same name the first in the list is always chosenRemember, to enable VLC put `--enable-libvlc` in the game's launch optionsWhitelisted the following UI components for Props:ScrollbarScrollRectLayoutElementUnityEngine.UI.MaskNotes
A big thanks to our External Contributors:
- Exterrata
- Malthbern
- Puff Machine