1. ChilloutVR
  2. News
  3. ChilloutVR 2025r179

ChilloutVR 2025r179

We have just released a Stable update to ChilloutVR that includes various fixes and improvements, including but not limited to:
[h2]Main Menu Improvements[/h2]
  • Color palette adjustment (not UI2)
  • Updated Support page
  • Easily copy GUIDs
  • Bunch of other small fixes
[h2]Content Discovery Page[/h2]
  • Find & explore random Avatars, Props, & Worlds
[h2]Hud & Reticle Improvements[/h2]
  • Smooth Hud
  • Gesture Indicator
  • HexReticle & SmartReticle native
    • Reticle only displays when needed
    • Desktop throw indicator
[h2]Steam Screenshot Integration[/h2]
  • Easily add & share screenshots taken within ChilloutVR via Steam (if enabled)
[h2]Legacy Content Mitigation[/h2]
  • Prevented potential mass-delisting of content broken during the engine upgrade
  • MultiPass in Non-SPI Worlds
  • Many small fixes & mitigations after mass review of majority of Legacy content
[h2]New Ways to Interact[/h2]
  • Can now select Props while the Menu is open in VR
  • Can now hold Control to unlock the mouse in Desktop
    • Allows you to select Players, Props, interact with UI, and manipulate held objects
[h2]Several New CCK Components[/h2]
  • CVRWheelHubController & CVRWheelController for building vehicles
  • The beginnings of the CVRLeg & CVRMovementDriver
  • Advanced CVRSkyboxManipulator
  • Exposed Object Health to Props
[h2]Reduced Game Installation Size[/h2]
  • Removal of bunch of assets & shaders we shipped
    • In part due to the new MultiPass rendering in Non-SPI worlds
  • Improved our build times & development workflow greatly


Full Changelog:
  • Added a basic Gesture Lock SteamVR binding
    • You will need to bind this to make use of it
  • Added back the preload complete notification cause someone ate it again
  • Added Discover page to the Main Menu shortcuts
  • Added event filtering for Health System Components
  • Added gentle align upright to PhysicsInfluencer to use force to align an object to gravity
  • Added gravityFactor to PhysicsInfluencer to scale gravity and simulate thigs like lift etc
  • Added Health DealDamageManually function
  • Added input and output transforms to CVRLeg Component
  • Added Manual DownBehavior to ObjectHealth
  • Added more components to the prop whitelist
    • NavMeshObstacle
    • OffMeshLink
    • ObjectHealth
    • Damage
  • Added NavMeshAgent related parameter streams
    • Added new 'CVRSkyboxManipulator' component
    • This allows you to manipulate how the skybox renders for a target camera (rotation, material, mesh, origin, ect)
  • Added new damage system parameter streams
  • Added new Component 'CVRLineRendererHelper' to help using a line renderer to connect transforms
    • Component is in its early stages will be expanded on in the future
  • Added new ParameterStreams
    • LegIsOnGround
    • RigidBodyAcceleration
    • RigidBodyAccelerationX
    • RigidBodyAccelerationY
    • RigidBodyAccelerationZ
    • RigidBodyLocalAccelerationX
    • RigidBodyLocalAccelerationY
    • RigidBodyLocalAccelerationZ
    • WheelHubControllerGrounded
    • WheelControllerGrounded
    • WheelControllerRPM
  • Added object health functions to Callback whitelist
  • Added optional persistent zoom level
  • Added ParameterStream update method onlyUpdateWhenOwner (usable for props and later on worlds)
  • Added Pitch Randomization for ParticleSound Component
  • Added portal dropped on top of you HUD notification
  • Added sanitization to character controller velocity
  • Added steerMultiplier to CVRWheelController to reduce steering input and allow for back wheel steering
  • Added toggle zoom setting and made it the default
  • Added torqueCurve to WheelHubController
  • Added UDIM discarding support to the Highlight shader
  • Added 'UnityEngine.SkyBox' component to Avatar/Spawnable whitelist
  • Adjusted controller line renderer to always display when the menu is open
    • Also now visualizes the active UI ray (inactive ray is dimmer)
  • Adjusted default pointer placement to not be skipped if missing third finger bone
  • Adjusted Desktop LookAt distance to scale with playspace scale
  • Adjusted Desktop Menu input to be done via Controller Ray instead of being fed in from mouse screen position directly
  • Adjusted DesktopRayController to not run when window is not in focus
  • Adjusted DropProp to allow spawning props in the air
  • Adjusted 'CVRWorld.ConfigurePostProcessing' check to ignore volumes found outside of the world scene
  • Adjusted how Magica Cloth 2 gravity direction is applied on avatars within gravity zones to address a major performance regression
  • Adjusted outbound core parameter syncing to always send MovementX/Z
    • Should fix case where Emote parameter can get stuck looping on the remote side if running anims are disabled in FBT
  • Adjusted player controller trigger touch input to also be true if trigger value is more than 0
  • Adjusted project skinning quality to enforce 4 weights per vertex
    • This has been enforced on the local avatar for a year or so now
  • Adjusted Mature Content Visibility handling to hide irrelevant UI elements when disabled
    • The Search & Filter options will no longer appear when mature content is unlocked & disabled
  • Can now hold Control to unlock mouse in Desktop mode
    • While unlocked, you can select Players & Props to open their Details Pages
    • You can also move held pickups around & interact with the world
      • This can be disabled in the Controls setting category
  • Changed the default index bindings for the left 'A' button to be the gesture toggle instead of the skeleton input toggle
  • Changed the Main Menu theme to match company color palette
    • This is not UI 2! Colors were just tweaked to match the ABI landing page
  • Changed WheelController to now stop updating transforms if the vehicles rigidboy is set to kinematic
  • Clicking a prop while the menu is open will now open the details page for it
  • Clicking on the icons in the Support page now prompts to open them in browser
  • Disable Magica Cloth culling for the local player avatar
  • Don't needlessly 'tex.GetRawTextureData()' on downloaded portal images
  • Dynamic Bone & Mesh Cloth are now separate filter options
  • Exposed 'CVRSharedPhysicsController'
    • This component is automatically added onto the same object as 'CVRPickupObject', 'CVRAttachment', 'CVRObjectSync', 'CVRSpawnable', & 'PhysicsInfluencer' and is used to manage the default RigidBody state to restore once the mentioned CCK components are done overriding it
      • SetDefaultUseGravity(bool useGravity)
      • SetDefaultIsKinematic(bool isKinematic)
      • SetDefaultPlayerCollisionMode(CollisionWithPlayer collisionMode)
  • Exposed 'CVRWorld.SetPlayerPropVisibility' & 'CVRWorld.SetPlayerRemotePlayerVisibility'
    • These APIs are purely for experimentation to see if such functionality is desired.
  • Fixed 0G controls being incorrectly activated during the gravity zone alignment warmup
    • The 0G controls now only activate when in real 0G
  • Fixed an issue where taking a Steam Dashboard Screenshot while multiple other clients connected to Steam were open would take the screenshot on all of them
    • Fixed Avatar Overrender UI feature not respecting UDIM discard properties that were not animated
  • Fixed avatars not loading default profile from AAS on initial load
  • Fixed case where local user could not make changes to a CVRSpawnable when network lerp timer got stuck
  • Fixed center of mass shifting not working for physics influencers
  • Fixed clicking any tab not closing details pages
  • Fixed controller line renderer not displaying in worlds with nameplates disabled
  • Fixed 'CVRSnappingPointManager' nullref when reference point is null
  • Fixed CVRSpawnable interpolating from the last network state when the local user has made changes
    • This should fix subsyncs snapping back when alternating sync when using a prop like a chessboard
  • Fixed Desktop & Halfbody IK root angle not being maintained on movement parents
  • Fixed force applicator runtime gizmo
  • Fixed game icon being incorrectly colored
    • 'e41010' to 'e43600'... absolutely game-changing
  • Fixed LoginRoom scene load unintentionally skipping some game initializations
  • Fixed Main Menu detail pages being broken after logout
  • Fixed Main Menu drag scroll not disabling while holding dropdown & toggle inputs like the Quick Menu
  • Fixed Main Menu haptics
  • Fixed main menu not playing hover & click sounds
  • Fixed menu auto-refresh causing applied prop/avatar/friend list filters to not reapply
  • Fixed never releasing Grab sync type on subsynced kinematic pickups
  • Fixed not being able to raycast to the Quick Menu if launched into VR with only Left Hand and not yet raycasted to another collider on UI internal
  • Fixed objecthealth down logic
  • Fixed performance issue when replacing default clips on avatar load
  • Fixed potential race condition where menu wouldn't mark itself ready because authentication occurred too fast
  • Fixed prop spawn placement not correctly facing player when spawned in Gravity Zones
    • Example: spawning a prop on a gravity wall would not correctly face towards your direction
  • Fixed rotatechestbyhands being reenabled in the spine solver when toggling FBT >:(
  • Fixed RuntimeGizmos to correctly display more characters
  • Fixed Vive tracker interaction profile for OpenXR
  • Fixed window focus detection failing when there was multiple ChilloutVR windows open
  • Fixed User Details button not functioning on Request Invite element in Main Menu
  • Highlight Profile Updated:
    • Is now constant width
    • Changed the quality of it so that it is significantly faster
    • Made it overrender everything, this may or may not be good, need feedback
    • Changed the color to be the ABI orange
  • Implemented a basic gesture indicator after chopping the old filtered avatar's hands off
  • Implemented a system to manually render both eyes in Legacy (NonSpi) worlds
    • This system has replaced the automatic shader replacement when entering NonSpi worlds in VR
    • Issues with terrain foliage are mitigated, and will kick in when loading Unity 2019 bundles
    • This is far from perfect, but it is much better than opaque grass & flowers!
    • NonSpi Avatars & Props loaded while this system is active will also not be shader replaced
      • Loading into a Spi world after a NonSpi world will run shader replacement for any loaded Avatar or Prop
      • This is to ensure the currently worn avatar is properly shader replaced when the mitigation is inactive
  • Implemented Desktop FOV & UI Scale sliders
  • Implemented fix for remote avatars causing a native crash when animating a camera off on the first frame
  • Implemented HexReticle (Thank you SketchFoxsky!)
    • The reticle is now a hexagon that reacts when hovering anything interactable
    • It also displays an indication of the Desktop throwing multiplier when holding 'G'
  • Implemented known mitigation for AMD GPU wireless vr stutter
  • Implemented new local avatar clone
    • Addresses a huge hitch when loading a local avatar with many renderers on it
    • Shadow casting mode is now properly respected & can be changed at runtime
    • Projectors targeting the local player layers no longer hit the head hidden mesh in first person
    • Generic avatars can now use the 'FPRExclusion' component
  • Implemented scroll to change zoom level
  • Implemented Smart & Disabled modes for the HUD reticle
    • In Smart mode, the reticle will only display when hovering something interactable or using a mouse input
    • While in Disabled mode, the reticle is... disabled
  • Implemented VR HUD smoothing option
  • Improved CohtmlHud to not needlessly allocating every frame
  • Improved CVRPathCamController to also not allocating every frame
  • Improved the VR Intro display of errors when the initialization fails
  • Increased contrast of the reticle
  • Made applying NetIK less stupid
  • Made clicking author name in Avatar & Prop detail pages bring you to the authors details page
  • Made double-clicking Avatar/Prop/World/User detail page image to copy guid to clipboard
  • Made HUD unaffected by zooming
  • Moved Cosmos Controller evaluation before Vive Touch Controllers
  • Moved cursor lock to shortcuts 2
    • Added push notification to tell you the lock state
  • Moved Use Telepathic Grab option to Controls setting category
    • This addresses somewhat the Logout button not being visible once mature content is unlocked
  • Portable Camera captures now save to Steam Screenshots when available
  • Removed Aura 2 due to several critical issues, like not supporting SPS-I
  • Removed deprecated 'PuppetMaster.OnAvatarInstantiated' event
  • Removed Desktop Free Look while in Menus
  • Removed loads of unused assets from the compiled game
  • Removed most shaders that we compile
  • Renamed "Mature Content visibility" toggle to "Show Mature Content"
    • Added subtext to better explain the option
  • Renamed the setting 'Control Enable Gestures While Finger Tracking' to 'Finger Gesture Recognition' under 'Controls' -> 'VR'.
    • With Gesture Lock implemented, this naming makes more sense
    • Added the description to the setting: When finger tracking is enabled, infer the avatar's gestures using your finger positions
    • Also it's now enabled by default
  • Reworked cursor lock management so there should never be a scenario where the mouse incorrectly locks
  • Reworked when controller smoothing is applied, this should feel better
  • Separated HUD notification settings under its own category
  • Steam Dashboard captures (F12) now saving to the ChilloutVR pictures folder
    • Steam Screenshots have their location tag set to the current world name
  • Switching Main Menu tabs now closes ui confirmation dialogs
  • Unwhitelisted 'UnityEngine.Cloth' from Avatars & Props
    • It was incompatible with Gravity Zones, Avatar Scaling, and the local Avatar Clone
  • Updated Avatar/Prop Detail & Avatar/Prop Pedestal responses
    • Detail responses IsSharedWithMe is now correct
      • Was returning true when had permission to switch/spawn (ex: when content was Public)
    • SwitchPermitted & SpawnPermitted are still returned
    • Pedestal response now returns IsPublished
  • Updated Support page in Main Menu to not be horridly outdated & useless
    • It was pointing at an old forums page which has been dead for years ;-;
    • eat bread
  • Updated Magica Cloth 2 to 'v2.14.2'
    • Release Notes available here
  • You can now confirm FBT calibration when only one hand is connected


Communications Changelog:
  • Added Push-to-Mute option to Mute Bind Modes
  • Added Noise Suppression and Mute Bind Mode to VR Aware settings
  • Adjusted Pipeline Objects to fix several issues with Positioning and Playback
  • Adjusted Positional Tracking and Handling
  • Adjusted TTS to fix an issue with artifacting in the transmitted Audio Data
  • Fixed an issue with Audio Normalization not being active by default
    • Thanks DDAkebono for identifying and helping to fix this issue
  • Fixed an issue with Microphone Toggle keybind still being active during Desktop Login
  • Fixed an issue with Mic Toggle being active while Text Inputs are focused
  • Fixed an issue with not being automatically muted when switching Input Device to "No Device" while unmuted
  • Fixed an issue with the Audio Capture thread sometimes not restarting when changing Input Device
  • Fixed an issue with the Audio Capture thread sometimes not restarting when Connection Recovery occurs
  • Fixed an issue with TTS not broadcasting when "No Device" is selected as the Input Device
  • Fixed an issue with Voice Data sometimes not being sent to the Server
  • Reworked Push to Talk into Mute Bind Mode