1. ChilloutVR
  2. News
  3. ChilloutVR 2023r173

ChilloutVR 2023r173

We have just released a new update for ChilloutVR on the stable branch.

Major Changes


[h2] Complete rework of the Voice System: [/h2]
With the recent changes Unity has done with Vivox, we have reworked our implementation to address and reduce the high delay in the current voice system, as well as ensure higher stability and fidelity, while also reducing load on the audio processing system.
We also introduce a native Text-To-Speech System that lets you send TTS messages over voice chat.

[h2] Native Desktop/VR switch: [/h2]
Desktop and VR modes can now be switched without requiring a game restart. A new setting for this is available in the Experimental Settings menu, and can be toggled by using the key combination Ctrl + F6, or by pressing the shortcut in the main menu.

[h2] Magica Cloth 2 support: [/h2]
Magica Cloth 2 is now supported in-game. Intercollision for avatars and props is also implemented.
An additional CCK module is not required to upload content with Magica Cloth 2.
Requires purchasing Magica Cloth 2 from the Unity Asset Store.

[h2] Buoyancy System: [/h2]
It is now possible to define FluidVolumes, as well as Objects that are influenced by buoyancy using the PhysicsInfluencer Component. The physics calculation uses Archimedes’ Principle, which can be expected to behave relatively realistically, given realistic values.
The new Runtime Gizmo feature can be used to better understand how it works within the game.
Players are also able to swim and dive in FluidVolumes. To display swimming animations, new animations are required in the Avatar’s Animator. An example is provided with the CCK 3.7 preview.

[h2] ForceApplicator Component: [/h2]
The new ForceApplicator component will allow you to apply force to a Rigidbody from a given position and thereby induce torque forces. This component also has the option to only work while being submerged in a FluidVolume.
This can be used together with the new CarInput ParameterStreams to make custom propulsion systems for boats.

[h2] Runtime Gizmo System: [/h2]
The following components have received Runtime Gizmos, which can be enabled in the experimental settings:
  • PhysicsInfluencer
  • CVRPointer
  • CVRSpawnableTrigger
  • CVRAdvancedAvatarSettingsTrigger
  • CVRInteractable (with interact down actions)
  • CVRMovementParent
  • CVRPickupObject
  • ForceApplicator
This feature will assist with debugging content and will provide a better understanding of how these systems are working internally. More components will be supported in the future.

[h2] New ParameterStream Variables: [/h2]
We added more Parameter Stream Variables with regard to:
  • The Transform of the GameObject
  • CarInput controls
  • The current avatar height
  • The new fluid mechanics

[h2] Rotating of pickup objects in Desktop [/h2]
Objects can now be rotated when held in Desktop mode by holding down the middle mouse button if the pickup GripOrigin is set to Free.

[h2] Image Cache for the Main Menu [/h2]
Avatar, World, Prop, and User images are now cached on the local machine to significantly reduce image load time. It is enabled by default, but may be toggled, configured, and cleared from the Experimental Settings menu.

[h2] Dual Controller Keyboard interaction [/h2]
This allows the use of both controllers to interact with the main menu Keyboard.

And many smaller changes and adjustments

CCK 3.7 will be required to use new creation features, which will be available shortly.
Please note that starting with this CCK, Unity projects using 2019 will no longer be supported.

Technical Changelog

  • Added independent head turn while in menus on Desktop
    • Desktop reticle is now disabled while in menus unless using head turn
  • Added ExperimentalAvatarOverrenderUI setting. This allows your avatar to render over the UI when in front of it in most cases.
  • Added Magica 2 support for props, avatars, and worlds
  • Added support for FluidVolumes
  • Added support for PhysicsInfluencers
  • Added new parameter stream inputs
    • TransformGlobalPositionX
    • TransformGlobalPositionY
    • TransformGlobalPositionZ
    • TransformGlobalRotationX
    • TransformGlobalRotationY
    • TransformGlobalRotationZ
    • TransformLocalPositionX
    • TransformLocalPositionY
    • TransformLocalPositionZ
    • TransformLocalRotationX
    • TransformLocalRotationY
    • TransformLocalRotationZ
    • InputCarSteering
    • InputCarAccelerate
    • InputCarBrake
    • InputCarHandbrake
    • InputCarBoost
    • InputMovementX
    • InputMovementY
    • InputLookX
    • InputLookY
    • InputJump
    • AvatarHeight
    • AvatarUpright
    • FluidVolumeSubmerged
    • FluidVolumeDepth
    • FluidVolumeTimeSinceEntered
    • FluidVolumeTimeSinceExit
  • Added min & max range support for CVRAdvancesAvatarSettingJoystick2D
  • Added min & max range support for CVRAdvancesAvatarSettingJoystick3D
  • Added double click to reset joystick
  • Added a basic Swimming System while the Player is in a fluid volume
  • Added support for Damage Falloff so you can modify the amount of damage received relative to your distance to the component
  • Added experimental Desktop VR switch (option must be enabled in the experimental settings, `ctrl + F6` to switch or the button in the main menu)
  • Added Runtime Gizmos for the following components
      • PhysicsInfluencer
      • CVRPointer
      • CVRSpawnableTrigger
      • CVRAdvancedAvatarSettingsTrigger
      • CVRInteractable (with interact down actions)
      • CVRMovementParent
      • CVRPickupObject
      • ForceApplicator
    • These can be enabled in the experimental settings
    • CVRPointer and CVRAdvancedAvatarSettingsTrigger on avatars should only be visible for self and friends
    • If a GameObject should not receive Gizmos, you can add "[NoGizmo]" to the GameObject name
    • Gizmos for other components will follow in the future
  • Added Component ForceApplicator: Adds the option to apply force from a specified point and also gives the option to only work while in a fluid volume. This component is Whitelisted for props
  • Added Desktop pickup rotation while holding the middle mouse.
    • This will only work if GripOrigin is set to Free
  • Added component filtering on world initialization. Please let us know if any complicated world setups have suffered
  • Added Show User Interface option to PortableCamera (nameplates, world UI, etc)
  • Added new shader global CVRRenderingCam
    • 0 = Normal Camera, 1 = Portable Camera, 2 = CVRMirror Camera
  • Added Image cache for the main menu
  • Added microphone VR Mode aware settings
  • Added Button to access Instance Details from within User Details
  • Added new world options
    • Object gravity
    • Allow Extreme far clip plane
  • Added remembering of last instance type/region checked between restarts
  • Added active body offset while in Halfbody
    • Animations no longer need to be modified to pivot from the head/eyes
    • This should fix avatar animations appearing crushed in VR
  • Added dual-ray interaction for the main menu keyboard
  • Added Unity UI Slider to the prop component whitelist
  • Added placeFromCenter option to box FluidVolumes
  • Added Vivox TTS support
    • Added TTS buttons to Main Menu and Quick Menu
    • Added TTS Voice selection to Implementation settings
    • TTS messages are restricted to 200 characters
    • Added togglable Hud indicator for TTS
  • Added prop removable filter for fluid volumes
  • Added ControllerRay Smoothing (reduced jitter in VR)
  • Adjusted the main menu to be more responsive while moving
  • Adjusted nameplate facing behavior. In VR it faces you, on Desktop it is aligned with the view
  • Adjusted TransformHiderForMainCamera to always create a shadow clone for UI culling
  • Adjusted Interact bind to Gamepad Button West
  • Adjusted Grab bind to Gamepad Left Shoulder
  • Adjusted Crouch to Gamepad Button East
  • Adjusted Prone to Gamepad Hold Button East
  • Adjusted Grab with Gamepad Left Shoulder bind to be disabled when not in Seat
  • Adjusted Grab with Gamepad Left Trigger bind to be disabled when in Controlled Seat
  • Adjusted Interact with Gamepad Right Trigger bind to be disabled when in Controlled Seat
  • Adjusted prop blocked by content filter notification to display the block reason
  • Adjusted VR flight to use VR Fast Flight speed while holding Jump
  • Adjusted Bundle Verifier blocks to display "Avatar failed validation" on the block avatar
  • Adjusted order of GetClosestTracker to find the nearest tracker for Chest before Hips
    • This is to mitigate an issue where Hips would consistently bind to your preferred Chest tracker, as the tracking point can be closer with certain setups, leaving your Chest to bind to the remaining Hip tracker
  • Adjusted player controller tracking to use SteamVR_TrackedObject
    • This fixes controllers not tracking in overlay, and render models not displaying after switching to VR
  • Adjusted DroneMode not to accept input while in independent head turn
  • Adjusted CVRSeat to ignore initial movement input when checking for exit
  • Adjusted the rendering of the nameplate
    • Nameplates are now flipped and properly displayed in mirrors
  • Adjusted VR binding to use threshold for grab start, but have a lower threshold for grip release (don't need to keep pressing hard to continue holding an object)
  • Adjusted Kick to now have a confirm prompt instead of requiring holding the button for 3 seconds
  • Adjusted bHaptics, Tobii Eye Tracking, and Vive Face Tracking implementation setting subcategories to use a dropdown to separate Desktop/VR settings
  • Adjusted prop spawn to only target colliders except for fluid volumes
  • Adjusted prop delete to show the ray to easier target props
  • Adjusted prop delete to also show aura highlight now
  • Adjusted the VR login screen to show more helpful information instead of taking your headset to log in using the Desktop UI
  • Adjusted self-moderation to automatically block prop spawns from blocked players
  • Adjusted the rendering of nameplates to be more effecient
  • Adjusted the handling of disabled prop collision
  • Adjusted Main Menu's Home tab to allow for 6 additional buttons
  • Renamed Input Device Threshold to Input Device Sensitivity
  • Renamed and Reworked Muted Speech Detection Threshold into Muted Speech Detection Sensitivity
  • Fixed drop bind for auto-hold not working in VR
  • Fixed user image on nameplate fading to white when distance hidden
  • Fixed scaling while using Main Menu in VR causing weird menu offsets
  • Fixed remote player collider height not updating when they scale
  • Fixed mouse rotating player in VR when the cursor was unlocked
  • Fixed inherited velocity from movement parents persisting once exiting flight mode
  • Fixed scrolling with scroll wheel not canceling out velocity scroll for both menus
  • Fixed clicking in QM sometimes causing the menu to velocity scroll. Now requires 10px drag
  • Fixed QM clicking not resetting velocity scroll
  • Fixed QM drag scrolling being active while using an AAS option
  • Fixed QM custom offset not being saved properly
  • Fixed CVRSeat not restoring original avatar sitting animation on exit
  • Fixed Joystick3D height slider dragging being inverted in Quick Menu
  • Fixed player culling mask not being reset to default when copying reference camera values
  • Fixed chest tracking
  • Fixed locomotion animations in FBT
  • Fixed animations root rotation bleeding into IK in FBT
  • Fixed HalfbodyIK feet always pointing in the head direction
  • Fixed HalfbodyIK feet while on a Movement Parent
  • Fixed CVRParameterStream LocalPlayerMuted
  • Fixed CVRParameterStream GrippedObjectLeft and GrippedObjectRight
  • Fixed the SteamVR XR Module missing a validation check
  • Fixed CVRParameterStream HeadsetOnHead not outputting correctly in SteamVR
  • Fixed CVRParameterStream HeadsetOnHead not defaulting to true when on Desktop
  • Fixed CVRParameterStream LocalFPS, LocalPing, and LocalWorldDownloadPercentage not updating properly unless a menu is open
  • Fixed IK bend goal offsets not respecting playspace scale
  • Fixed Advanced Safety forcing audio source volume to max
  • Fixed calibration line renderers not scaling with playspace scale
  • Fixed Custom Audio Source output being placed incorrectly for the video player
  • Fixed path camera excluding player
  • Fixed not being able to scroll UnityUI ScrollViews in VR
  • Fixed RenderTextures being shared between instances of the same props and avatars
  • Fixed Toggling Portable Camera in QM no longer closes the menu
  • Fixed being unable to scroll in the settings of the camera in VR
  • Fixed Vote Kick prompt to be in front of user details page
  • Fixed keyboard not opening while instance details panel is opened
  • Fixed Vote Kick not appearing in the big menu
  • Fixed auto-generated mouth pointer not respecting avatar voice parent setting
  • Fixed DroneMode improperly resetting camera angle when being enabled
  • Fixed Keyboard not showing sometimes when pressing a text input in VR
  • Fixed the user tab displaying incorrect data when clicking on users in the world
  • Fixed the calculation for initial Seat offset in VR
  • Fixed Sub-Sync IDs breaking in some Interactable setups
  • Fixed menu not jumping to a newly created instance when finished creating
  • Fixed losing tracking should no longer reset/trigger inaccurate gestures
  • Fixed dynamic bone intercollision for default colliders and props
  • Fixed crashing issues with the video player caused by HDR videos
  • Fixed scroll elasticity from Portable Camera
  • Fixed the current instance details page not opening world details when clicking the world image
  • Fixed gamepad input module overwriting grip and interact inputs
  • Fixed some avatar materials being caught by Garbage Collection in some cases on world switch
  • Fixed prop filtering breaking in some cases
  • Fixed player collision being applied when exiting Flight Mode while inside collision
  • Fixed Auto Focus & Auto Exposure visual modifications for the Portable Camera
  • Fixed prop deletions occasionally not functioning correctly