1. ChilloutVR
  2. News
  3. ChilloutVR 2024r175

ChilloutVR 2024r175

We have just released a Stable update to ChilloutVR that includes improvements to voice chat, cache management, core parameters, eye movement, and much more!

Major Changes:


[h2] Improved Voice Chat [/h2]
Vivox has been replaced with our own custom voice chat solution. It is expected to be much more stable and reliable, and no longer relies on third-party hosting outside of our control.

[h2] Cache Management [/h2]
Content cache size can now be changed, viewed, and cleared from the Experimental menu.
You may also change the cache location using the following launch argument:
--content-cache-path="F:\example\directory\"

[h2] Core Parameter Improvements [/h2]
Core Parameters are no longer locked to float type and added the optional parameters IsLocal, DistanceTo, GestureLeftIdx, and GestureRightIdx.

[h2] Eye Movement Improvements [/h2]
Expands avatar eye movement control for creators to include additional setups using transforms or blendshapes for more than two eyes.

[h2] Additions: [/h2]
  • Added a user notification for when world preload has started, completed, and failed
  • Added launch argument to change the cache location: --content-cache-path="F:\example\directory\"
  • Added menu options under Experimental > Content Caching to:
    • Set the max cache size
    • View current cache size
    • Clear cache
  • Added movement parent enabled to method call whitelist
  • Added `OnBecameVisible` and `OnBecameInvisible` trigger types to CVRInteractable
  • Added parameter stream remap, clamp methods
  • Added the following Core Parameters:
    • IsLocal (bool)
    • DistanceTo (float)
    • GestureLeftIdx (int)
    • GestureRightIdx (int)
  • Added TMPUGUI and TMP to spawnable whitelist
  • Implemented Audio Filter support for Props and Avatars
  • Implemented Audio Filter removables filtering for Props and Avatars
  • Implemented Player detection in Worlds using player proxy colliders
  • Added the following CVRInteractable actions:
    • OnPlayerTriggerEnter
    • OnPlayerTriggerExit
    • OnPlayerColliderEnter
    • OnPlayerColliderExit
  • Implemented Player Voice World Mute checking
    • Just add an AudioSource to the World Reference Camera and Mute/Unmute it
  • Implemented preserve velocity option to `CVRInteractable.TeleportPlayer` action
  • Implemented Steam Audio support for Player Voices in Worlds
    • Attach a SteamAudioSource component onto the World Reference Camera
    • The settings will be copied over to Player Voices upon load
  • Implemented support for Unity Audio Filter components with Player Voices
    • AudioLowPassFilter
    • AudioHighPassFilter
    • AudioEchoFilter
    • AudioDistortionFilter
    • AudioReverbFilter
    • AudioChorusFilter
    • Place these components on the World Reference Camera


[h2] Adjustments: [/h2]
  • Adjusted Emote & Toggle Core Parameters to set to the type used in the controller (this technically applies to all Core Parameters)
  • Adjusted MenuPositionHelpers to temporarily switch to Playspace Anchored if out of range
    • Halved max distance before being considered out of range from 20m scaled to 10m scaled
  • Adjusted Quick Menu Data update rate
  • Applied Collider Radius offset to Avatar Distance Disable check
  • Changed InitializationLocation of Magica Cloth 2 components back to `Awake` to fix conflict with our head-hiding solution
  • Disk Full Warning
    • Warn the user upon attempting to download content but the target disk is full (only triggers if the content is not cached)
    • Give the option to clear cache from within the warning
    • Give the option to ignore the warning and continue with the disk full (the user won't be able to download new content (avatars/worlds/props))
  • Parameter Streams now update every frame, other than when updating to variable buffers
  • Reduced Quick Menu Icon resolution
  • Rebuilt `CVRAnimatorManager` and separated AAS-specific logic into `AvatarAnimatorManager` as the original script is also used elsewhere for some CCK components
  • Refactor the eye movement serializable info
    • New features (requires the new CCK 3.9 Preview build 107 or higher):
      • Ability to set the interval range in seconds of how often the avatar switches eye look target (animatable)
      • Ability to set the interval range in seconds how often the avatar blinks (animatable)
      • Ability to set the duration range for blinking in seconds (animatable)
      • Added new eye look setup types.
    • Eye Movement Setup Types:
      • `Muscles` (default and legacy behavior) - Uses the eye transforms defined in the unity humanoid rig, and respects the muscle limits set.
      • `None` - Disables completely the eye movement on the avatar.
      • `Transforms` - Allows to multiple add eyes, requiring a transform and the limits configuration. This can be applied to any transform within the avatar.
      • `Blendshapes` - Allows to add multiple eyes, requiring to add a transform (for the eye position), and a skinned mesh renderer that has the blendshapes to be used. Then it requires the rotation limits, and the blendshapes to be used for up/down/right/left.
  • Renamed `OnGazeEnter` and `OnGazeExit` to `OnHover` to better reflect their actual implementations
  • Reworked parts of the InteractionSystem, (Interactables/Pickups), to allow for alternative implementations


[h2] Fixes: [/h2]
  • Attempted to fix drone yaw on local model pivot being strange
  • Fixed an issue where Pickups were never removed from CVR_InteractableManager when destroyed
  • Fixed an issue where Core Parameters would not be synced if they were not found in the currently-worn avatar animator
  • Fixed an issue where the local player shadow clone would not respect live-changes to shadow casting mode
  • Fixed an issue where you could attempt to set Core Parameters via CCK components (Animator Driver, Parameter Stream, ect)
    • Example: `GestureLeftIdx` wouldn't be set if `GestureLeft` didn't exist for syncing purposes
  • Fixed an issue with Avatar Filter hiding Local Player's Avatar when "Show Avatars For" is set to "Nobody"
  • Fixed an issue with CVRParameterStream Eye Movement and Viseme values not working on Props
  • Fixed an issue with Microphone Capture breaking when using a Mono Output Device
  • Fixed an issue with Player Voice Playback breaking when using a Mono Output Device
  • Fixed AnimatorDrivers not rounding to int properly
  • Fixed getting stuck in free look mode when VR switching
    • VRSwitching while in Independent Head Look mode caused Quick Menu to be treated as world anchored
  • Fixed Gravity Custom interval starts at 0
    • Also fixed weird display of huge decimal numbers
    • Fixed CVRSetting float types from breaking depending on the culture
  • Fixed hidden/blocked avatar placeholder having incorrect rotation offsets
  • Fixed local player proxy colliders not having their position updated when teleporting
  • Fixed MenuPositionHelpers range check measuring distance from PlaySpace center instead of Player position
  • Fixed push notifications not playing alongside menu alerts
  • Fixed push notifications silencing menu alerts
  • Fixed Quick Menu position helper not checking if in Desktop when doing menu free look behavior
  • Fixed the issue: "AutoFocus Aperture is set by Focal Length slider"
    • Requires manual adjustment of related sliders in the Camera’s Settings
  • Fixed TransformHiderManager not handling TrailRenderers and ParticleRenderers
  • Prevented constraints from breaking when mods have unknown component types at compile time
  • Removed Physics Influencer from Gravity System on Delete
  • Removed Vivox ːCVRChanDerpː
  • Reverted some changes that broke the CoHTML debugger


[h2] Text-To-Speech Notice [/h2]
Due to the change in communication systems, TTS has been temporarily disabled. The previous TTS implementation was supplied by Vivox, which has now been replaced with our own custom voice chat system, and does not currently support TTS. This feature will make a return in the future.