1. ChilloutVR
  2. News

ChilloutVR News

ChilloutVR 2025r180 Hotfix 2

We have just released a Hotfix update to ChilloutVR that addresses the following issues:

Changelog:
  • Fixed a regression with the menus rendering in the background despite being disabled
  • Fixed an error that could break content loading when registering Magica Cloth colliders
  • Upgraded to Unity 2021.3.45f2 to address Unity's Security Update Advisory
It is recommended that you update as soon as possible.

For Creators:

The reported security issue does not affect the editor, so you are okay to keep your projects on 2021.3.45f1 with whatever current CCK you are using. If you do not feel comfortable ignoring Unity Hubs alert regarding the vulnerable version, you are also able to update to Unity 2021.3.45f2 without a CCK update.

Both the latest Release CCKs (3.16.x) and latest Preview CCKs (4.0.0) are functional on 2021.3.45f2.

Release CCK is available from our Documentation
Preview CCK is available from our Community Discord

ChilloutVR 2025r180 Hotfix 1

We have just released a Hotfix update to ChilloutVR that addresses the following issues:

Changelog:
  • Added Filter Own Avatar and Filter Own Spawned Prop
  • Added new User Interface category to hold all UI related settings
  • Added toggle for UI joystick scrolling in VR
  • Added toggle to disable smooth scroll in the menu
  • Added VRCFT UnifiedExpressions license to ThirdPartyLicenses.md
  • Changed AbiCreateAccount and TosUrl to the correct https://chilloutvr.net urls
  • Fixed invalid home world getting user stuck at login room
  • Fixed keyboard settings not saving properly
  • Fixed player height being able to be set to less then 0 and crashing the game
  • Fixed portal de-spawn time
  • Fixed Quick Menu and Main Menu clocks showing 00 for hours at midnight in 12-hour mode
  • Fixed Steam Overlay screenshots saving in the incorrect colour space
  • Fix nameplates not rendering properly in mirrors and portable cameras
  • Hide tooltip when ToggleView has fired
  • Left aligned settings headers and adjusted spacing to be consistent on them
  • Made 12-hour mode not append 0 for hours less then 10
  • Made drag handler not rely on timeout anymore
    • generally should be more reliable at lower FPS
  • Made HUD actually disable it's Cohtml component when hidden and fixed related issues to this being fully toggled
  • Merged Prop and Avatar filter categories into single Content Filters with tabs at the top
  • Re-enabled mitigation for Cameras on remote Avatars causing a native crash in specific situations
  • Removed menu framerate selection as it was no longer needed

ChilloutVR 2025r180


We have just released a Stable update to ChilloutVR that includes various fixes and improvements, including but not limited to:
[h2]UI / Keyboard Rework[/h2]
  • New home menu with more features
  • Activity feed to see what your friends are up to
  • New Keyboard that is independent from the main menu
[h2]Groups[/h2]
  • Create a Join groups with common interests
  • Management and permissions options for Group owners
  • New Public and Private instance types for Group members and friends
[h2]Portal Rework[/h2]
  • New circular Portals
  • Fancy closing animation
  • Support for panaramic images with depth for more immersion
[h2]Native Face Tracking Rework[/h2]
  • Eye Tracking and Mouth Tracking are now separate modules
  • Smoother with support for viseme blending
[h2]OSC & OSC Query Support[/h2]
  • Send and Receive avatar customization and game inputs from external applications
[h2]Other cool stuff waow[/h2]
  • Relative Syncing
  • In-game Content Sharing
  • User Notes
  • Unity UI Input rework
  • and so much more that will not fit here
  • this change log is too big
Full Changelog:
  • Added a 10m distance limit to the Video Player UI
  • Added a Menu & HUD notification when World Anchored Menu is temporarily forced to Play-Space Anchored due to distance
  • Added an Activity Feed
    • Shows activities, such as instance changes and online status, for your friends.
  • Added applyMinimalHoldingTorque to CVRWheelController
  • Added a strict mode bool to gravity zone (Malthbern)
    • Enable this to use a stricter/smaller collision shape for player gravity. Useful for large, smooth surface transitions.
  • Added a strict mode proxy collider (Malthbern)
  • Added a toggle to switch between player-like and plane-like drone mode rotation. You can find this toggle in the Drone section of camera settings.
  • Added basic Badge functionality
    • You can set featured badge in-game
    • You can now view other users badges as well as your own
  • Added basic in-game Sharing functionality
    • You can share your uploaded content directly to those in the same instance and un-share from yourself or others
  • Added button to the in-game Support page to open the Logs folder in Windows Explorer
  • Added CancelAllDelays, CancelDelayAtIndex(actionIndex), CustomTrigger(actionIndex) methods on CVRInteractable to the whitelist
  • Added clickable featured Group and Avatar on all pages showing the user
  • Added CVRGameEventSystem.World.OnReady event
    • This will fire after world filtering & setup
  • Added CVRPickupObject.ForcePickup() method for Unity Events
  • Added default disabled toggle to keyboard settings for UI grab component
  • Added default Dismiss button to Quick Menu messages instead of decline
  • Added display Group detail page as a CVRInteractable operation
    • Requires CCK 4.0 - to be released at a later date
  • Added double-click to re-open Search Keyboard
  • Added file drag drop handler for selecting files to be used for images and such
  • Added font shrink to most menus, names shouldn't escape bounds now
  • Added Groups
    • The following are current functional:
      • Creation
      • Joining
      • Leaving
      • Management (name, image, description, permissions, members, transfer, deletion)
    • The following new Instance Types are now available:
      • Public (Groups)
      • Friends of Members
      • Members Only
    • Added Friends of Group Members instance type
    • Added fitting icons for everything in Groups
    • Added Group invite and invite request functionality
    • Hooked up Quick Menu Groups button
  • Added Home Instance Privacy and Home Instance Region to General settings
  • Added HUD shard timeout
  • Added IsFriend local core parameter
    • This is true on the remote avatar animator if they are on your friends list. This is always false for the currently worn avatar.
  • Added logs to the voice connection flow. This means there will be extra logging and even some errors (they are safe to ignore)
    • If you experience the issue of joining an issue and not being able to hear and not be heard, please submit the logs via email. We're trying to hunt down this but, but we can't really reproduce
  • Added LTCGI support to Worlds
  • Added Mature Content toggle to Discover
  • Added missing licenses to LicenseManager
  • Added My Profile with detail view
  • Added new menu parameter streams:
    • IsAnyMenuOpen
    • IsMainMenuOpen
    • IsQuickMenuOpen
  • Added onSnapped and onReleased events to CVRSnappingPoint
  • Added OSC
    • Added avatar endpoint to send/receive avatar parameters
    • Added avatar endpoint to send/receive avatar changes
    • Added input endpoint to send game inputs
    • Added option to enable/disable OSC in-game on Settings -> Implementation -> OSC, OSC is disabled by default
    • Added launch argument to override the OSC listener port, sender ip/host, and sender port
    • Expose helper functions and events to allow easily tapping into for new OSC Modules
  • Added OSC Query
    • Added launch argument to override CVR's service ID, this should allow it to function with OSC applications not compatible with CVR
  • Added parameter stream types for GameFocused and TimeSinceGameUnfocused
  • Added Quick Menu message filtering
  • Added relative sync for seats & movement parents
  • Added relative timestamp to activity feed entries
  • Added --safe-mode launch argument
    • This will load you into the default Kyle Avatar and Hub World
    • The Steam Launch Options dialog will display this on initial launch
  • Added setting to disable triggering the AFK parameter when in VR using the Headset Sensor
  • Added slight fade time to selection highlight
  • Added Steam branch to Main and Quick Menu info blocks
  • Added the AFK core parameter. You can now add a bool parameter named AFK, and the game will set it accordingly:
    • In VR it will be active while you have the headset removed from your head
    • In Desktop you can toggle on/off by pressing the END key. This will also work in VR if you press END on your keyboard.
  • Added TimeSinceAFK to the parameter stream
    • Requires CCK 4.0 - to be released at a later date
  • Added TooltipHandler and ScrollHandler to Quick Menu, removed built in scroll handler and adjusted sliders to not scroll
  • Added tooltips to the menu
    • Now present in many parts of the Quick Menu and Main Menu
    • All Settings now have tooltips that explain their purpose
    • Thanks to DragonSkyRunner for providing descriptions for nearly all of those that we used as the starting point
  • Added User Notes to a new Info tab in the user detail view
  • Added VelocityX, VelocityY, and VelocityZ local core parameters for avatars
  • Added visualization to Mic Volume and Sensitivity sliders
  • Adjusted CacheManager to skip loaded asset bundles when clearing the cache
    • This is now needed since we're steaming the asset bundle files instead of copying them to memory
  • Adjusted content-name position and height across all list views, shouldn't cut off the bottom of letters now
  • Adjusted CVRBlitterController to not iterate all CVRBlitters needlessly when the rendering camera is not the main camera
  • Adjusted grip threshold for Quick Menu repositioning
  • Adjusted held pickups to teleport or move with the player on movement parents
  • Adjusted IKTrackingSmoothing setting default to 2 from the evil 5
  • Adjusted menus to not be forced closed on loading a new world
  • Adjusted Player Click handling to not occur when in a prop selection mode
  • Adjusted Quick Menu repositioning to not allow Object Push/Pull
  • Adjusted Quick Menu repositioning to require holding down Grip on the opposite controller while hovering the menu
  • Adjusted sizes of buttons and their text
  • Adjusted skid steering logic
  • Adjusted steam rich presence to mirror privacy options
  • Adjusted the Avatar & Spawnable Pickup Marker UIs to work with this new method of interaction
  • Adjusted the Portable Camera to require holding it to take pictures on interact again
  • Adjusted the Video Player UI to work with this new method of interaction
    • Fixed the header button not being interactable
    • Fixed the background buffer slider eating interactions from the progress slider
    • Fixed the progress slider value changed event not working properly
    • Fixed the progress slider not being interactable in its unfilled area
    • Removed the now unused SliderDragHelper script
    • Removed many box colliders from the UI elements
  • Adjusted UI Scale slider to also be VR-aware & work in VR
    • "VR-aware" means the setting is saved differently between Desktop & VR
    • The UI Scale slider maximum was also adjusted to 125%
  • Changed font of UI to use NotoSans, should support basically all symbol languages properly now
  • Changed how main tab view hiding works to reduce the amount of visible elements at once
  • Changed how Quick Menu and Main Menu initialize, things should generally be a bit more consistent during startup and with reloads
  • Changed seeking logic for LibVLC (Malthbern)
  • Changed the Unity Company name from Alpha Blend Interactive to ChilloutVR
    • The game will automatically migrate the AppData/LocalLow folder to the new company name at first launch
  • Changed the Video Player shader to output alpha = 1
    • This doesn't change anything in game. However it allows for shaders that use the alpha channel to actually display the Video Player render texture
  • Changes & Additions to the Game Event System
    • Actually hooked up Spawnable.OnDownloadQueued
    • Added Spawnable.OnPropSpawned & Spawnable.OnPropDestroyed, which provide the PropData instead of Spawnable
      • The original Spawnable.OnInstantiated & Spawnable.OnDestroy events have been marked obsolete
    • Destroyed the obsolete OnPlayerEntityCreated & OnPlayerEntityRecycled events in CVRPlayerManager
    • Destroyed the obsolete Player.OnJoin & Player.OnLeave events, as they've been replaced with Player.OnJoinEntity & Player.OnLeaveEntity
  • Cleaned up many Settings categories
  • Cleaned up unneeded Cohtml components
  • Cleaned up unneeded UI code that was replaced by newer stuff
  • Completely rebuilt the Keyboard
    • Now support multi-line and normal single line input
    • In single line mode, up and down arrows act as history
    • Line count and character count
    • Placeholder text
    • Keys no longer wiggle around when switching from lower to upper case
    • Arrow keys to navigate the text
    • Native copy/paste
    • Keyboard now exists on it's own view, so you can move it around your playspace
    • Collapse mode, you can configure this to be automatic on desktop
    • In-keyboard settings window
    • Settings can be configured from a window within the keyboard
  • Completely reworked Discord Rich Presence
    • Implemented rich invites/ask to join features
    • Added privacy options to Implementations/Rich Presence of main settings
    • Cleaned up and merged old rich presence into 1 main class
    • Uses world image when details visible
  • Completely reworked Messages
    • Message system is now handled entirely in managed code, handed to Cohtml for display and interaction only
    • Quick Menu Notification panel completely redone and restyled
    • Quick Menu Notification Panel now shows all messages that are allowed to appear there, added scrolling and total message count
    • Implemented additional categories for future info/alert messages or mod dev usage
    • Messages now have defined title and main body text blocks
    • Messages can now have any number of dynamically created buttons
  • Enabled ZETTAI_USE_UNSAFE in the Dynamic Bones job for free performance
  • Exposed Terrain to Unity Events
  • Fix CVRLeg logic to account for local rotations better
  • Fixed an error with TerrainFoliageFix.CleanupAllKnownCameras when leaving a 2019 bundle world
  • Fixed an issue where clicking Current Instance would open the wrong World details page if you had changed your home world while at home
    • This also addresses clicking Current Instance sometimes doing nothing
  • Fixed an issue where dropped pickups would not un-listen to Teleport and MovementParentMove events
  • Fixed an issue where interactables would not react to variable buffer changes
  • Fixed an issue where OnPlayerTriggerEnter would fire 2x if moving fast enough
  • Fixed an issue where running multiple clients out of the same installation folder would native crash the second client to open the Main Menu
  • Fixed an issue where the UI Scale setting did not apply its saved value on startup
  • Fixed an issue with how sprint mode Always was handled in the Gamepad & VR input modules
    • Sprint will now only be applied when the specific input module is driving movement, instead of always enforcing it
    • This addresses a case where the Gamepad input module forced sprint when enabled in settings & using KBM
  • Fixed Avatar IsEmotePlaying state persists through avatar switches
  • Fixed Avatar switch and prop spawn button being falsefully disabled in rare cases
  • Fixed being able to interact on Video Player playlist entries that are outside the canvas bounds
  • Fixed being able to spam the go home button
  • Fixed being able to use Desktop Zoom while any menu was open
  • Fixed broken Freeze controller on disconnect IK miscellaneous settings option. New behaviour:
    • Setting on and controller disconnected - corresponding hand/arm is frozen in last valid playspace location.
    • Setting off and controller disconnected - corresponding hand/arm follows avatar's animator's animation.
  • Fixed button hover sound being inconsistent in the Main Menu
  • Fixed Collision Placement setting not working when picking Hands and HandAndFingers options for Magica 2 cloth colliders
  • Fixed crouch and prone states handling of player with the active drone mode
    • Desktop:
      • Entering in drone mode crouch and prone states are "locked"
        • In drone mode player can't change crouch and prone with regular input
        • Increasing drone speed (with shift) doesn't change state to standing no more
    • VR:
      • Entering in drone mode in VR with half-body setup no longer switches avatar animation to standing state when the player actually crouches or goes prone in their own playspace
  • Fixed CVRInteractable.OnCron job not being removed on destruction
  • Fixed CVRPhysicsInfluencer applyForces not being driven by remote synced state
  • Fixed distance check for avatar distance hider being done prior to actually moving the player
  • Fixed DynamicBones being enabled when having Bone Dynamics disabled but Cloth Dynamics enabled
  • Fixed error spam if remote player is destroyed and still receiving AAS
  • Fixed eye limits for up/down being inverted
  • Fixed eyes only using the LeftEye limits when using eye movement Muscle setup
  • Fixed FindObjectOfType being 2x per wheel for RCC 🙂
  • Fixed fluid volumes not respecting the collision matrix
  • Fixed Friend Status not instantly updating
  • Fixed gravity zones caching the entering colliders forever
  • Fixed having framesNeededToUpdate different than 0 breaking mirrors
  • Fixed HUD "Only Updates" mode showing HUD for mic amplitude changes
  • Fixed i+INSTANCEID shortcut for instance details not working in Main Menu Search
  • Fixed IK scaling occurring before the playspace scale updated
  • Fixed index pointer generation not checking entire hand for existing pointer
  • Fixed in-world input fields being interacted with when disabled
  • Fixed in-world input fields read-only state not being respected
  • Fixed Mature Content toggle in Search
  • Fixed "Menu Too Far Away" event occurring when the menu is closed
  • Fixed most disabled buttons still showing hovers and having colour
  • Fixed multiple spots where mic amplitude is used before volume is applied, HUD and threshold now use amplitude post volume adjustment
  • Fixed not being able to go home from home after changing your home
  • Fixed old [FPR] tag not working with new Avatar Clone
  • Fixed phantom friend requests that when occurred could not be cleared by hitting "Accept"
  • Fixed Quick Menu repositioning able to be triggered while closed
  • Fixed render texture instancing already instanced render textures
  • Fixed shaders in Non-Spi worlds not being able to get the VR Left/Right eye positions correctly
    • This should fix reflections and parallax effects in these older worlds appearing flat while the MultiPassHack was active
  • Fixed some vegetation in worlds culling incorrectly in the Portable & Path Cameras
  • Fixed sub-interactables & pickups on objects not highlighting individually
    • The highlight effect will now crawl the hierarchy and stop at any object that will highlight on its own
  • Fixed the API connection randomly stopping
    • This would cause the activity feed, invites, invite requests, friend requests, etc, stop working until a restart
  • Fixed the following leaking textures:
    • Nameplates
    • Portal images
    • Video Player playlist thumbnails
    • Video Player playlist video thumbnails
  • Fixed the mouse being locked in Desktop causing some Event System drag interactions to be scuffed & jumpy
  • Fixed the Portable Camera Settings not being visible while scaled small
  • Fixed the stutter that occurs when creating a new instance
  • Fixed the Video Player playlist scroll rect constraint
    • You can now finally scroll past 8 playlist entries!
  • Fixed the window being out of focus preventing Event System pointer events
  • Fixed velocity being nuked when exiting flight
  • Fixed View & Voice Points being targetable via Avatar Animator
  • Fixed warnings when joining the login room about negative scale colliders
  • Fixed World Anchored Menu rotation when on Movement Parents or Teleporting
  • Further adjustments to World event filtering
  • Implemented HeadsetOnHead detection for OpenXR (only available if the used runtime supports it)
  • Implemented Zettai's asset bundle stream decryption - thank you Zettai
  • Improved chilloutvr:// links to no longer open the console for a split second
  • Improved DeepLink so it doesn't require Administrator Privileges and will be configured automatically without annoying prompts
  • Improved the drone camera rotation to be similar to how the player camera is handled
    • Pros: No absurd camera roll when rotating up/down/left/right.
    • Cons: Up/down is limited in a similar way as player's camera, but limit can be reset by changing actual drone roll.
  • Improved the Freeze controller on disconnect setting so it is able to toggle on/off without the need of reloading/reconnecting the controllers
  • Improved the reliability of jumping to get out of fluid zones when pushing against their edges
  • Improved the reliability of the parameter stream HeadsetOnHead
  • Increase default menu opacity setting to 90%, looking into ways to increase readability on messy backgrounds
  • Killed the Offline starting instance
    • You will now default to an Online OwnerMustInvite instance when joining your Home world
  • Killed the PlayerMaterialParser CCK Component in favor of Shader Globals:
    • _CVR_PlayerRootPositions
      • The w component is the avatar height in meters
    • _CVR_PlayerHipPositions
    • _CVR_PlayerHeadPositions
    • _CVR_PlayerLeftHandPositions
      • The w component is left hand gesture value
    • _CVR_PlayerRightHandPositions
      • The w component is right hand gesture value
    • _CVR_PlayerChestPositions
    • _CVR_PlayerLeftFootPositions
    • _CVR_PlayerRightFootPositions
    • These are all Vector4 arrays capped at 255. You can get the player count with CVRGlobalParams1.y if needed.
  • Made HoloPort setting be independent from VR and Desktop (if you set it on desktop will apply to desktop, if you set it in VR it will apply to VR)
    • This will be improved further with UI updates (the settings will be touched), but for now it should address the issue of not being able to have different settings for each
  • Made instance types use pretty names instead of enum names
  • Made Quick Menu save new avatar profile work
  • Made trying to join a instance that you have been kicked from too recently sent you to your home instance
  • Made ViewManager aware of Main Menu tab changes
  • Migrated Quick Menu and Main Menu to CVRUIManagerBaseInput to simplify some initialization
  • Minor adjustments to most parts of the Main Menu
  • Minor clean up and style adjustments to basically everything else
    • Hexagonification will continue, nobody can stop me
    • Trust me it's totally minor... haha....
  • Mitigated drag events not properly firing when moving in world space, as Unity only checks for screen space position changes
  • Moved initial Main Menu settings update to markMenuAsReady instead of relying on BindCall from Cohtml side
  • Moved Logout to Exit menu
  • Moved status text of Deep Link Status to line below
  • Potentially made rotating in 0G on Desktop more responsive & unbound from FPS
  • Prevent negative & zero scaling of the local player VR rig
  • Probably way more, it's been 2 months of touching things alot of stuff was fiddled!
  • Redid FileDragDropHandler to hopefully not crash things
  • Re-implemented the Telepathic Grab (Exterrata)
    • If you hold trigger for a while it now times out. This should prevent unwanted telepathic grabs
    • The objects should now fly towards you in a nicer way, doing a nicer arc
    • Object should now track your hand. They will go to where your hand currently is instead of where your hand was when triggered
    • Physics objects will now respect physics properly, like collisions
  • Removed deprecated tags from content filter
  • Removed fade duration from the highlight profile as it is broken and results is extremely bright colors
  • Removed IsFriend checks on UserDetail view as it's unneeded
  • Removed several things from the World Filter which are not relevant or unsupported
    • This included avatar specific components, ones which were deprecated, and ones which never were even implemented
  • Removed the CVRSpawnable requirement for CVRCameraHelper to work, finally allowing it to function in Worlds without hassle
  • removed the GraphicsScreenSpaceReflections setting
    • Unsupported in forward rendering 🙂
  • Removed the Queue tab from the Video Player UI due to it not being implemented
  • Remove onclick from user profile Avatar/Group button if it's a zeroed GUID
  • Remove VR Switch Setting and always have it enabled
  • Renamed the Dynamics Removables setting names for props and avatar:
    • Dynamic Bones -> Bone Dynamics
    • Mesh Cloth -> Cloth Dynamics
    • Dynamic Bone Collider -> Dynamics Colliders
  • Renamed the IK Setting from Save Calibration to Save Calibration per Avatar to better indicate what it does
  • Rename panosphere visual mod to capture panoramic
    • Reworked panoramic capture:
      • Is now a mono capture (as stereo capture is flawed)
      • Added option to capture with depth information in portable camera settings (captures same output as CCK for Portal images)
      • Reduced hitch greatly when capturing
      • Capturing a panoramic no longer also captures the main viewport as a screenshot
  • Reworked Create Instance panel to better handle Group instances
  • Reworked Home Tab entirely
  • Reworked how content metadata & tags are cached and compared against when queueing content downloads
    • Consolidated AvatarTags & PropTags into one definition which can chew through the different formats from API & GS
    • Reduced allocation when handling content tags received from GS content updates
  • Reworked Portals (major help from Exterrata)
    • Can now be dropped mid-air
    • Can now be placed in offline instances
    • Are distance-hidden when far away
    • Only instantiate & load once within range
    • Panorama texture creation adjusted to reduce hitch
    • Panorama forward direction now aligns with initial drop orientation of the Portal
      • This change now means that you can expect a user dropping a Portal to have a consistent initial view within that Portal, giving you much more control of the presentation of your world through the Portal panorama
    • Replaced the OG grounded Portal with a floating spherical one
      • This new Portal better suites the gravity & flight mechanics we have due to there being no base
      • The 0G Portal will still spawn in worlds using CVRPortalMarker and will benifit from all the listed changes above
        • Additionally the animations for the 0G Portal have been spruced up
    • Stereo panoramas deprecated in favor of mono with a better shader:
      • Stereo only worked correctly when viewed from the original forward direction and was fundamentally flawed
      • Many stereo panoramas had inconsistent left/right images due to post-processing in-scene
      • The new Portal rendering will only use the existing left eye capture of the panorama texture and do a parallax effect to give depth
        • This is a major improvement over the old rendering which relied entirely on the flawed stereo image to appear 3D
    • Remaining lifetime of dropped user Portals is now displayed above the Portal
    • The target instance region and Portal dropper are now displayed above the Portal
    • Added Drop Portal button to the User Details page
    • The Portal Dropped notification now no longer applies to only your own dropped Portals:
      • By default, you will get a HUD notification if you or a friend drops a Portal in the instance
      • You can also configure this notification to apply to Portals dropped by anyone or disable it entirely
    • The rotation of your dropped Portal is now synced over the network
    • Portal panoramas now use the image cache
    • You are now prompted to enter a Portal once nearby via input press
      • When walking up to a World Portal accepting this prompt will create a new instance & join it
    • Portals now require the menu to be open or to have the mouse unlocked to open their details
      • This is to both make them consistent with how you select Players & Props and less likely to accidentally click
  • Reworked scrolling in the menus a bit, it now requires a 50ms hold and a 50 pixel movement before scrolling is initiated
    • This will also now prevent button clicks from firing once a scroll has begun
    • These values may get more tuning as we get feedback, but it's already SO MUCH BETTER
    • Addressed some other elements that got funky from this change
  • Reworked the native face tracking implementation
    • Eye tracking and mouth tracking have separated modules for processing
    • All Tobii and Vive settings are now merged into single settings block where player can select specific module to get face tracking data from,
    • CVRFaceTracking supports old SRanipal legacy shapes (37) and Unified expressions (88),
    • Unified expressions are packed into 37 networked floats without touching last byte of float, making sign and exponent not produce NaNs or Infs,
    • OSC modules expect parameters of VRCFaceTracking name scheme
    • OSC nodes for expected parameters are created only if don't exist in avatar's animator
    • Fixed SRanipal face tracking looking choppy, it should now be smooth
    • OSC module for Face/Eye tracking now only requires the parameter name to match
      • Example / is trimmed to for better compatibility with existing apps
    • Added lipsync while face tracking toggle in the settings
  • Reworked the TerrainFoliageFix to only run when the loaded World Asset Bundle Unity Version differs from the Client Unity Version
  • Reworked Unity UI interactions
    • IMPORTANT: This may be a breaking change for some existing content. Please take a look!
    • Now driven through the Unity Event System
    • This addresses several issues:
      • You no longer need to shove colliders on all Unity UI elements to be able to raycast to them
      • You no longer will raycast to Unity UI through the Main/Quick Menus or other UI
      • Creating Unity UI that is not raycastable, (purely for visual, like a HUD), no longer requires you to crawl & disable the generated box colliders or switch layers at runtime
      • You can now limit the interaction distance for your Unity UI via the CVRCanvasWrapper component
      • Most importantly, there should no longer be a disconnect with what works in Unity and what works in ChilloutVR in reguards to Unity UI
        • Several setups only work in ChilloutVR and not in Unity/PlayMode due to the old method of how Unity UI interaction was handled, and vice-versa
  • Separated the left and right blinking handling
    • Requires CCK 4.0 - to be released at a later date
    • This allows the new separated blend shape mode in the CCK work
  • The Main Menu & Quick Menu will now remain in place while they are playing their closing animation
  • The on-screen keyboard is now displayed when clicking on in-world input fields on Desktop
  • Unity UI drag threshold is now scaled with playspace scale
  • Updated Magica Cloth 2 to v2.16.1
  • Updated the Discord invite URL in the Support page of the Main Menu
  • Whitelisted RectMask2D for Spawnables
[h2]Notes[/h2]

  • Group Management is only currently available in-game with Hub features to follow soon

  • Some features require CCK 4, which will be released sometime in the near feature
    • Previews are available in our Discord in the

  • A big thanks to our External Contributors:
    • Exterrata
    • Malthbern
  • Also contributions from the community:
    • DragonSkyRunner
the year is 20XX, I don't know how long I've been here, but the HTML is all I see anymore.... If there's still someone out there... enjoy it...

Status Report May 2025

Hello there!

We have just released a new Status Report for May 2025 detailing changes to our team, branding, the current state of various projects, related promises, and plans for the future.

Read the full Status Report

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