ChilloutVR cover
ChilloutVR screenshot
Genre: Role-playing (RPG), Simulator, Strategy, Indie

ChilloutVR

ChilloutVR 2024r176

Major Changes:



New VR Login Room


We have created a new VR login room from the ground-up when logging into ChilloutVR

Steam Sign-up


New Players can now sign-up using the Steam account they are currently logged in to when launching the game for the first time!

Changes:



  • Added Facetracking interpolation for remote clients
  • Added Modern Procedural UI Kit to the Spawnable whitelist
  • Added the ability to login with the Steam account linked to you ABI account (you can associate in the hub)
  • Adjusted Main Menu in VR to have a slight pitch to better center within view (15 degrees)
  • Adjusted Main Menu in VR size to not engulf the entirety of your view (75% of og size)
  • Adjusted mute sound to be deeper in pitch
  • Adjusted one handed VR controls to open Quick Menu with press and Main Menu with hold
  • Adjusted Quick Menu on Desktop to scale with aspect ratio like Main Menu
  • Adjusted Show Distance Avatar setting to Enabled by Default
  • Adjusted the default blinking interval to be between 3 and 8 seconds instead of 0.4 and 8 seconds (only affects the CCK 3.10+)
  • Changed the login screen to always present the 2D UI on the desktop display, even when starting the game in VR
  • Cleaned up slight hiss in mute/unmute audio clips
  • Completely replaced the VR Login room
  • Destroy duplicated animator controllers
  • Disabled rotateChestByHands for Halfbody VRIK
  • Disabled saved cal by default as Universal Calibration persists between restarts since last update
  • Enforced culling settings on all Magica Cloth 2 components on Avatars
  • Fixed a bug allowing a new blink being able to start while a previous blink was still progressing

    • Resulted in the current blink being cutoff
  • Fixed a Cohtml crash
  • Fixed a crash issue with Steam Audio on Props by rewriting the fix for Worlds
  • Fixed a potential race condition that would result in cohtml native crashes
  • Fixed an issue that could cause the avatar/world loading stuck
  • Fixed an issue where AAS was being needlessly applied to distance hidden avatars
  • Fixed an issue where a remote player camera indicator would not be updated if an avatar is hidden
  • Fixed an issue where an avatars head-hiding would still run on occluded mesh
  • Fixed an issue where an avatars Shadow Clone would not reflect the visibility state of an occluded mesh
  • Fixed an issue where Beautify and AzureFogScattering components persisted between world changes
  • Fixed an issue where CVRMovementParent would calculate fixed velocity when not in use & when not using Parent Velocity Inheritance Mode
  • Fixed an issue where menus could be interacted/opened during the initial load
  • Fixed an issue where remote avatars playing Emotes did not disable NetIK
  • Fixed an issue where some camera settings were not reset properly when going from a world with a reference camera specified to one without
  • Fixed an issue with Audio Processor disposal not working properly
  • Fixed an issue with BBC sometimes not retrying connection
  • Fixed an issue with CVRObjectLoader throwing errors and breaking Instantiation Queue
  • Fixed an issue with DarkRift sometimes failing to Finalize Connection
  • Fixed an issue with DarkRift's UnityClient.ConnectInBackground when Connection fails
  • Fixed an issue with Disconnect HUD Notification throwing an NRE
  • Fixed an issue with Distance and Loading Avatars not scaling to the user properly
  • Fixed an issue with GameInstanceController Erroring on World Load
  • Fixed an issue with GameServer and Host Resolve timeouts causing voice to not reconnect
  • Fixed an issue with HUD Communications Indicator becoming desynced
  • Fixed an issue with Interactables Erroring when using SetComponentActive
  • Fixed an issue with Loading Avatars not showing on first join
  • Fixed an issue with Magica Cloth 2 Gravity Interaction not working as expected in some cases
  • Fixed an issue with Menu Headlook breaking VR Input
  • Fixed an issue with Opus Bitrate calculations being incorrect
  • Fixed an issue with Opus causing a crash due to race condition
  • Fixed an issue with Opus Encoder not having the appropriate Default Values applied
  • Fixed an issue with Opus handling leaking memory
  • Fixed an issue with Player Voice AudioSources getting stuck Mute
  • Fixed an issue with Player Voice Volume Curve Generation not generating a new curve when Falloff Distance gets changed
  • Fixed an issue with PlayerPhysicsProxy running for players who were distance hidden
  • Fixed an issue with Props being Spawned & Deleted at the same time breaking CVRObjectLoader
  • Fixed an issue with Remote Player Visemes staying open when Muting
  • Fixed an issue with Rich Presence spamming logs
  • Fixed an issue with Scene Unloading happening too early
  • Fixed an issue with SkinnedShadowClone throwing an error
  • Fixed an issue with Steam Audio causing crashes from not unloading Scene Objects properly
  • Fixed an issue with Steam Audio not having it's used Camera set
  • Fixed an issue with SteamAudioSource throwing an NRE if it doesn't have an AudioSource
  • Fixed an issue with SteamAudioStaticMesh causing a Crash on World Unloadchanged
  • Fixed an issue with TTS Initialization causing crashes on some Windows installs
  • Fixed an issue with World Transitions not checking for Setting changes
  • Fixed an issue with Worker Thread MTJob Task Disposal stalling threads
  • Fixed an issue with Worker Thread MTJob Tasks causing abnormal CPU usage on certain systems
  • Fixed Avatars uploaded with disabled Animators causing issues
  • Fixed CVRDistanceLod measuring from playspace center instead of player position while in VR
  • Fixed CVRDistanceLod not measuring 2D distance correctly when player is rotated via Gravity
  • Fixed CVRParticleSound simulateSpeedOfSound option to use player camera position instead of playspace center for determining distance from sound
  • Fixed DistanceTo core parameter defaulting to 0 when remote player is created (now defaults to -1f)
  • Fixed Download Percentage Indicator not properly over-rendering UI
  • Fixed Error spam With FluidVolume Materials
    • Stream material properties will now apply to the entire renderer instead of the first material
  • Fixed hard limits for blink interval and blink duration being swapped
  • Fixed leaking materials
  • Fixed LocSwimmingBackward CCK animation clip
    • Swimming backwards no longer rotates legs sideways
  • Fixed not being able to disable CVRBlitter
  • Fixed not being connected properly to the API after logging out and then logging in
  • Fixed OnFailedVRModeSwitch disabling all input instead of returning it
  • Fixed OnVRModeSwitchRequest being invoked after force closing the UI
  • Fixed Post Processing not rendering properly
    • Fixed color banding on photos
  • Fixed remote clients incorrectly cancel emote when player is ungrounded
  • Fixed remote player collision being plump and round
  • Fixed remote player collision not being scaled correctly prior to first avatar load
  • Fixed SceneLoaded Job
  • Fixed Shadow Clone breaking in certain scenarios (thanks NotAKid)
  • Fixed SkinnedShadowCloneFallback not casting shadows in some setups
  • Fixed spawnable subsyncs not being interpolated properly
  • Fixed standing on Non-Convex Mesh Colliders that were read/write enabled nuking performance depending on how complex the mesh was
  • Fixed sub sync pickup locking on props when moved with physics
  • Implemented Global and Per-User Settings for Player Voice Normalization
  • Implemented noise suppression
  • Implemented normalization for player voices
  • Implemented optimization where SkinnedTransformHider will not constantly check for runtime bone changes if Magica Cloth is not used on the loaded avatar
  • Implemented StateMachineCallbackSender State Behaviour & CVRStateMachineCallbackManager to handle it
  • Implemented Steam Sign-Up
  • Improved BBC Client, Multi-Threading, and Connection Handling
  • Improved network IK latency
  • Improved the Avatar loading and Avatar hiding by distance
  • Improved the initialization process, resulting in slightly faster loads and smoother loading screens from starting the game to joining the your home world
  • Listen for DesktopVRSwitch binding manually instead of using CVRInputManager so Virtual Keyboards can use the binding
  • Matches local player collision scaling again
  • Potentially fixed legacy standard in VR (which caused some worlds to show up weird)
  • Prevent the initial load fade out and the vr switch transitions from being disabled by setting transition to none
  • Reduced the number of allocations we're doing in the update loop
  • Refactored WorldTransitionSystem to allow to add new cameras easily
  • Removed global textures on updater destroy
  • Replaced Opus SoftClip with Manual Clamping
  • Switched Player Voices to use a Generated Logarithmic Volume Curve instead of a Preset Volume Curve
  • The video player domain whitelist/blacklist system has been rewritten.
    • The json file structure has been changed. There is a migration process that will take your current configuration and update it properly. The native whitelisted domains will be removed from the user configured whitelist.
    • During the Migration, a backup of the old configuration will be created on the folder ConfigBackups next to the config.
    • Policies can now use regex when using urlHost that start with ^ and end with $ (The \ characters need to be escaped by adding a second one). Example: ^(www\\.)?example\\-regex\\-deny\\.com$
    • Policies can now use wildcards, if the wildcard is preceded by a ., the . becomes optional. Example: *.example-wildcard-deny.com
    • Policies will default to exact match if both those cases were not used. Example: example-exact-match-deny.com
    • Reworded bad URI error to be more informative
    • Note: The urls defined on the whitelist are just the host part of the url. Basically subdomain and domains. It doesn’t include the protocol (eg: https://), nor anything after the top level domain (eg: .com)
    • Added Kick to the native whitelist
  • Updated Magica Cloth 1 to v1.12.13
    • Release Notes available here

ChilloutVR 2024r175 Hotfix 5

We have just released a Hotfix update to ChilloutVR that addresses crash-related issues primarily affecting systems that use AMD CPUs.

ChilloutVR 2024r175 Hotfix 4

We have just released a Hotfix update to ChilloutVR that addresses some voice chat related issues, in addition to the reintroduction of Text-To-Speech, and more.

Changes:



  • Added TTS
  • Added Voice Noise Suppression
  • Added Voice Normalization
  • Fixed Voice connection creation
  • Fixed VR Menu Headlock

Status Report June 2024

Hello there, and thank you so much for checking in!

Summer is finally upon us, and we’re certainly bringing the heat with it. This time around, we’re introducing a brand new landing page for new players to get acquainted with the game, an easier way to jump right in to the game with a Steam account, public testing builds for the much anticipated Lua Scripting feature in addition to a new way to interact with objects, and finally our plans to address those pesky voice chat issues.

New Landing Page


We now have a brand new landing page for ChilloutVR that includes all of the basic information anyone would need to know about the game before jumping in, including features, versions, system requirements, frequently asked questions, and a full archive of all past and latest blog posts.

Outside resources can also be easily found and accessed from here, such as the Content Creation Kit, feedback site, roadmap, and documentation.

If a friend or loved one is interested in checking out ChilloutVR, this would be the best place to direct them to learn about what we have to offer.

You can access ChilloutVR’s landing page here: https://abinteractive.net



Lua Experimental Builds


As a quick reminder for those who don’t keep up with our community Discord announcements…

Last month, we released the first iterations of our brand new Lua Scripting feature with two public Experimental builds of our next release. Since then, we’ve received a lot of useful feedback from the community and are working on ironing out any remaining issues and implementing suggestions.

For those interested in working with Lua in ChilloutVR, documentation is available here. We have also opened a new Scripting channel in our community Discord to discuss and ask questions about Lua development.

We would greatly appreciate any and all feedback leading up to the stable release of 2024r176.

Proximity Grabbing


In addition to Lua Scripting, another feature that may have been a bit overlooked is a new way to pick up and interact with objects.

Previously, the only way for a player to pick up objects in VR was by aiming a laser from your hand to the object, and gripping with the controller, which could be done from close or far away. As many have noted, this isn’t a very immersive way to interact with props and items in the world, and can even lead to unintentional pickups. With that said, it is now possible to grab objects in a more direct manner with your hand in close proximity, or inside, of it.

For those who still prefer the old method, picking up objects with the laser will still be possible, so users may choose whichever they wish to use.


The Proximity Visualizer is shown for demonstrative purposes, and can be disabled.

Steam Sign-up


In our previous May Status Report, we discussed the inclusion of a new way to log in to ChilloutVR via a Steam account. It was also mentioned that signing up with a Steam account would also be possible later, making it significantly easier for new users to quickly try out the game without having to create an ABI account through our Hub website, and we are happy to say that this feature will be available in the next release!

For those on the bleeding edge of our Experimental builds, Steam sign up will first be available with version 2024r176 Experimental 3 very soon, but everyone else will have access to this feature with the stable release of this upcoming update, along with Lua Scripting and many other improvements, as soon as it is ready.

Now, you may be wondering, “how does a Steam account differ from an ABI account”? Well, if all you’re wanting is a basic gameplay and social experience, then you’re not missing out on much. All basic features will be available to Steam users with essentially no restrictions. However, creating an ABI account will be important for users interested in uploading any worlds, avatars, or props to ChilloutVR, and managing such content. Doing so does require an ABI account to access our full Hub website and log-in to the Content Creation Kit. But this can be easily accomplished by migrating your Steam account to an ABI account via the Hub website along with the stable release of 2024r176.

We’re looking forward to welcoming any new users who make use of this new feature to stop by and visit our platform and community!

Further Voice Chat Improvements


We are aware of issues that have been impacting our new voice chat system these past couple of months, which include occasional stutters and reconnections and while we have already made significant improvements to resolve all past issues, some new ones have come up. To address these, we have been working on some major improvements of our voice server software that aims to provide more stability to player communications.

We expect to begin testing within the next two weeks, and hope to push these server changes to live soon after.

Thank you for your patience during this ongoing process, and to all of those who have provided feedback related to these issues thus far.

Community Feedback


For those of you who regularly keep up with ChilloutVRs development, or even for the occasional or first-time readers, thank you for tuning in to our monthly Status Reports. We try to keep the community up to date on our plans and activity as much as possible, and these reports allow us to provide a steady and consistent stream of information related to our progress on a month-to-month basis.

While we do our best to keep things here relatively interesting, we're always looking for ways to improve. Whether it be the information provided, the content included, or anything else related to these reports, we want to hear what you think, be it positive or negative. If there's a way we can do better, don't hesitate to let us know! Ultimately, these status reports are for the community, so your input is very important to us when putting these together.

Feel free to provide any and all feedback in the comments below on Steam, or email us at team@abinteractive.net . Thank you!

Final Notes


As always, thank you for your continued interest and support of ChilloutVR's development.

Social Media


Find us on social media with the links below:
Discord
Twitter (Company)
Twitter (Status)
YouTube
Reddit

Support Alpha Blend Interactive


Like every company, we need financial support to be able to push updates and improve our product. We are grateful for every bit of support we get.
If you want to support us you can do so here: https://www.patreon.com/AlphaBlendInteractive

We are more than thankful for your support!

Not in our Discord server yet?


Use the link above to join our discord server and get in touch with our wonderful community, get help with creation-related topics and find people to play with.

Status Report May 2024

Hello there, and thank you so much for checking in!


April was quite the busy month. We released a major Stable update, which included a brand new and much more reliable voice chat system along with many other great improvements and fixes, as well as a few hotfixes to follow-up on some lingering issues. Overall, feedback on the new voice chat system has been wonderful to hear, quite literally, and we’re very happy with the results. We’re continuing to work on adjustments as needed, but in the meantime, our development team has been working on some exciting new features.

Lua Scripting Progress


Brush off your “Lua for Dummies” books and get ready for the much anticipated new set of tools being introduced for creators in ChilloutVR!

We’ve been working on Lua scripting for some time now, first revealing the details of our implementation all the way back in June of last year, and are excited to say that it is finally closing in on a public test release very soon!

To briefly recap; ChilloutVR’s first client-side scripting language will be Lua. Scripting will be available for all forms of content creation, including Worlds, Avatars, and Props. We plan to add more scripting languages over time, but for now, Lua is what we have settled on beginning with.

Definitely give the Scripting section of our June 2023 Status Report a read if you would like more information on the topic.

Lua Scripting is planned to be available for public testing with the next Experimental release, so be sure to join and keep an eye on our community Discord server for future news and updates on new features like this. We’re thrilled to see the new creations that our community will build.


Example of our Lua implementation in use

Login with Steam


A popular feature request that we often receive is the ability to log in with a Steam account. It can really help new players quickly jump into the game without being required to go through the ABI account creation process first, as well as provide a simple way for existing users to sign-in with a linked ABI and Steam account.

All things considered, the convenience is a major benefit for both new and existing users. So, we are adding a button to log-in with a Steam account to the login screen!

At the moment this feature is exclusive to ABI accounts already created and linked to a Steam-ID, but we aim to provide a sign up with Steam option in the near future as well. Do keep in mind that only users with an ABI account will be able to upload content to ChilloutVR, and access the Hub.

Advanced Avatar Updates


Lately, we’ve been working on various smaller updates and improvements to the CCK alongside other major features, such as Swimming, Gravity, etc… in an effort to further streamline our creative tools with suggestions from the community.

One such improvement that will soon be available is a redesigned Advanced Settings customization UI, which features the following:

  • Separately named menu and parameter names
  • Better initial setting types
  • Automatic generation options moved to a dropdown


May be subject to change during development

Main Menu Updates



Finally, we’ve also been cooking up some helpful quality of life improvements for the Main Menu, particularly when it comes to visibility and positioning. The menu’s size has been reduced by 25% in order to increase visibility of the environment, and can now be grabbed and moved to any position as needed. Both can be seen in the preview below:


May be subject to change during development

Final Notes


As always, thank you for your continued interest and support of ChilloutVR's development.

Social Media


Find us on social media with the links below:
Discord
Twitter (Company)
Twitter (Status)
YouTube
Reddit

Support Alpha Blend Interactive


Like every company, we need financial support to be able to push updates and improve our product. We are grateful for every bit of support we get.
If you want to support us you can do so here: https://www.patreon.com/AlphaBlendInteractive

We are more than thankful for your support!

Not in our Discord server yet?


Use the link above to join our discord server and get in touch with our wonderful community, get help with creation-related topics and find people to play with.

ChilloutVR 2024r175 Hotfix 3

We have just released a Hotfix update to ChilloutVR that includes even further improvements to our new voice chat system, as well as other general improvements.

Voice Chat Changes:



  • Adjusted Player Voice Attenuations to apply later in the stack
  • Fixed an issue with Client not sending Ping Message
  • Fixed an issue with HUD Connection Indicator getting stuck shown
  • Fixed an issue with Threads throwing ThreadAbortException when being Destroyed
  • Fixed an issue with Distance Attenuation being applied twice
  • Fixed an issue with SteamAudioSource for Player Voices disabling Distance Attenuation of the AudioSource


General Changes and Fixes:



  • Added a reset offsets button for the Quick Menu
    • “Reset All Settings” in the Settings menu will also reset the Quick Menu offsets
  • Added `VisemeIdx` & `VisemeLoudness` Core Parameters
    • `VisemeLoudness` represents the highest weight for any playing viseme mapped between `0f-1f`
    • `VisemeIdx` represents the highest weighted viseme index from `0-14` - Oculus Lipsync Reference
      • If you are using JawBone or SingleBlendshape Viseme Modes, this will fallback to `0-14` based on `VisemeLoudness` weight
  • Adjusted ApplyOLSToBlendShapes to calculate VisemeIdx & VisemeLoudness even if avatar is missing target shapes
  • Adjusted Volume Sliders Max to 200
  • Fixed a NRE issue with Video Player Blit Materials
  • Fixed a regression with SkinnedTransformHider conflicting with Magica Cloth 1
  • Fixed an issue where SkinnedTransformHider would cause mesh to disappear in first person if Magica Cloth 1/2 was toggled at runtime
  • Fixed an issue with Net IK Controller not setting initial height until first Avatar loads
  • Fixed an issue with pickups being dropped when passing them between hands
  • Fixed an issue with the Sil blendshape not being set on viseme reset
  • Fixed an issue with the Sil viseme being the most weighted due to it being inverted before being applied
  • Fixed an issue with TransformHiderManager not handling Avatar Overrender UI pass
  • Fixed default offsets for QuickMenu when attached to the right hand. It should now properly mirror the Left Hand defaults
  • Fixed loading hexagons not showing for players remote players when they join the world
  • Fixed Local eye tracking in desktop not working
  • Fixed not being able to raycast the Quick Menu when on top of the MainMenu
  • Fixed parameter stream Local World Download Percentage
  • Fixed raycast on the QuickMenu hand being able to raycast on the QuickMenu
  • Fixed Tobii Eye tracking not working locally, but works for remotes
  • Refactored `CVRAvatarPickupMarker` and `SpawnablePickupMarker` internals
    • Fixed large amounts of markers initializing at once often failing
    • Fixed an issue where a bad API response would break initializing any other pickup markers in queue
    • Implemented caching for pickup marker API results for duration while in-world
    • Adjusted PickupMarkers to only initialize when World Filter initializes them
      • This means pickups instantiated after world load will not initialize
    • Adjusted PickupMarkerManager initialization to only request 200 Pedestal Info at a time
  • Rewrote Loading Avatar Controller



ChilloutVR 2024r175 Hotfix 2

We have just released a Hotfix update to ChilloutVR that includes further improvements to our new voice chat system, as well as other general improvements.

Voice Chat Changes:



  • Added Connection Debug Information to Quick Menu (Ping will work with future voice server version)
  • Fixed an issue with Audio Data Clamping not working properly
  • Implemented Audio Data Clamp to Max of 100db
  • Implemented HUD Customization setting for Connection Status Indicator
  • Preparation for server-side voice server selection

Instances created before April 17th at 1:00 pm (UTC) will not be compatible with these voice server changes. Should you be in such an instance, please create a new one.

General Changes and Fixes:



  • Added set_convex to allowed MeshCollider event list
  • Fixed an issue with Magica Cloth 1 Fast Write feature not falling back properly on unsupported hardware
  • Fixed Combat System particle detection
  • Fixed Holoport in VR causing the view to slightly shake while the avatar is moving around
  • Fixed Left Controller haptic failing to give feedback
    • Fixed hovering interactables always vibrating the right hand
    • Fixed controller vibration incorrectly occurring on the wrong hand when first interacting with the big menu while the quick menu is anchored to the right hand
  • Fixed new eye movement setups
    • Fixed eye movement blendshape setup not able to go down, and in/out being broken
    • Fixed blendshape setup getting stuck when losing target instead of resetting forward
    • Fixed blinking not working when the avatar doesn't have a functional eye movement setup
    • Fixed player not being able to be targeted when not having a valid eye movement setup
  • Fixed Violence filter being hidden from the filter settings when the Mature DLC is not present
    • Also added the message saying there might be missing options on the prop filter

ChilloutVR 2024r175 Hotfix 1

We have just released a Hotfix update to ChilloutVR that addresses some issues found with the latest stable release, in addition to some changes that were missed from the previous Stable release notes.


  • Fixed an issue where Velocity would persist after teleporting out of a movement parent
  • Fixed an issue with CancelEmote not being applied in some cases for remote users avatars
  • Implemented HUD Indicator for Voice Chat Connection Status
  • Temporarily removed the Visual Clone Experimental option
    • It will be revisited once it works with the new FPRExclusion component

Notice


The following changes were missing from yesterday’s 2024r175 release notes:

  • Fixed an issue where an existing login profile would be used, even if the login is rejected by the game server
  • Implement choosing an AutoLogin Profile using a launch argument
    • For example `--profile=kafe` will result into using the file `autologin-kafe.profile`
  • Updated Magica 2 to 2.6.1
    • Release Notes available here

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:



Improved Voice Chat


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.

Cache Management


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\"

Core Parameter Improvements


Core Parameters are no longer locked to float type and added the optional parameters IsLocal, DistanceTo, GestureLeftIdx, and GestureRightIdx.

Eye Movement Improvements


Expands avatar eye movement control for creators to include additional setups using transforms or blendshapes for more than two eyes.

Additions:



  • 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


Adjustments:



  • 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


Fixes:



  • 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


Text-To-Speech Notice


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.

ChilloutVR 2024r174

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

Major Changes:



Gravity


A new way for players to create, move, and interact with Worlds and Props
Accessibility Settings are available for a more comfortable and tailored experience
The Gravity Zone component will be freely available for creators in the Content Creation Kit

Camera Indicator


A Camera lens has been added to indicate where a remote players camera is
Nameplate Customization is available as a Graphics Settings

Better Cache Management


All content Cache has been moved to a unified directory
Now limited to 20GB

New Character Controller


Physics based controller that allows for object collision where possible
Adjusted automatic step height to take avatar height into account
Improved Holoport to allow both the local and remote users to see smooth player movement

Desktop IK


Animated and realistic leg movement for Desktop players

First Person Render Exclusion Component


Show objects that would normally be hidden from your first person view, such as hair, hats, and accessories.
Note: Currently incompatible with the experimental Visual Clone setting

BodyControl StateBehaviour


Allows for better tracking control over parts of the IK solver of an avatar in specific cases
The following can be toggled: Head, Pelvis, Left/Right Arm, Left/Right Leg, and Locomotion

Refactored Avatar Eye Movement


Eye movement is now much more reliable, consistent, and adheres to set limits
A new setting is available to force all subjects to look at the Portable Camera when held

New Shadow Clone Implementation


Reworked the local player Shadow Clone utilizing new tech afforded to us with the update to Unity 2021.
It now respects Unity/Magica Cloth & material swaps, while also being more performant.

Experimental Visual Clone Alternative


Available under Experimental settings, this idea builds off of the same tech as the new Shadow Clones.
Turns the local player into a "Visual Clone", which is basically a Shadow Clone, but visible in first person, and does head-hiding within the same pass.

Voice Audio and Attenuation Improvements


Improvements in voice stability and reconnection handling
New Focus Attenuation settings including: Nearby, Speaker, Forward, Backward, and Angle adjustment

libVLC Implementation


Alternative experimental rendering method for videos
Enable using the --enable-libvlc launch option

Experimental support for Virtual Desktop OpenXR


Allows native Quest hand tracking to be use with CVR on PCVR
How to use:

  1. Enable the OpenXR runtime for ChilloutVR using the launch option `--force-openxr` in Steam
  2. Enable Forward tracking data to PC in the Streaming tab of Virtual Desktop
  3. Set the OpenXR Runtime in the Virtual Desktop Streamer to VDXR
  4. Launch ChilloutVR from Virtual Desktop’s Game tab

Note: This implementation is still a work in progress in both Virtual Desktop and ChilloutVR. Experiences may vary as this feature is further developed.


Technical Changelog:



Additions:

  • Added Automatic Role Assignment IK calibration option

    • With this enabled, there is no need to select which tracker roles to calibrate in IK Tracking Settings
  • Added BodyControl StateBehaviour
  • Added Camera Lenses to indicate where remote player cameras are

    • Camera nameplate behavior may be configured in the Graphics Settings
  • Added Camera setting to start Drone aligned with the Gravity (default)
  • Added Display FPR Exclusions option as expert Portable Camera setting
  • Added FBT toggle in Quick Menu
  • Added Drone Controls for controlling the roll

    • Control the Drone roll in VR by holding right trigger, then moving the left thumbstick to either side
  • Added experimental libVLC video player as a launch option: `--enable-libvlc`

    • This video player introduces a new decoding method that may currently be unstable
  • Added experimental support for Virtual Desktop OpenXR Runtime VDXR
  • Exposed First Person Render settings in new foldout on CVRAvatar component
  • Added fluid volume streams that affect players

    • When being affected by multiple streams, it will average them out (fluid volumes without stream strength are ignored)
    • The water drag is reduced when swimming in the same direction as the stream
  • Added Gravity Interaction setting to Dynamic Bone Interactions
  • Added General setting to change Main Menu anchor behavior in VR

    • If enabled, the main menu will maintain its position in the world when open
    • If disabled, the main menu will maintain its position in your VR playspace when open (default)
    • Existing users will be unaffected from this new default behavior
  • Added new FPRExclusion CCK component

    • Place on a transform to have control over if the chain is visible or not in first person
    • This affects any SkinnedMeshRenderers or MeshRenderers using affected transforms
    • An FPRExclusion is automatically added to the avatars head bone if it does not exist
    • This allows you to specify your own FPRExclusion to take control over this behavior
  • Added player Gravity Rotation Setting
  • Added size-related blending for box gravity corners
  • Added sliding footstep pass to IK to prevent huge steps when being pushed/pulled
  • Avatar Overrender UI experimental setting now has basic support for UDIM discard (Poiyomi & Liltoon Standard)
  • Changed the default of Left and Right Ear Focus to false
  • Configurable Gravity Zone alignment speed

    • Made camera Player Face Tracking respect the player orientation
  • Exposed WorldAnchorMenu option under General settings

    • You may uncheck it to have the Main Menu anchored to you
  • Implemented new Focus Mode Attenuation and Settings (Special Thanks to Nirvash :D)

    • Nearby Focus
    • Speaker Focus
    • Forward Focus
    • Backward Focus
    • Ear Focus Angle
  • Implemented a new Shadow Clone solution for the local player avatar

    • Shadow Clone is now more performant, especially while using the Avatar Overrender UI option
    • Shadow Clone now displays Magica Cloth & Unity Cloth properly
    • Shadow Clone now displays material-based toggles properly (ex: UDIM discard)
  • Implemented an experimental Visual Clone solution for the local player avatar

    • This solution can provide even more of a performance improvement depending on the avatar, and can be enabled under Experimental settings
    • Includes the improvements of the new Shadow Clone solution mixed into an alternative method of head-hiding
    • There is no more explicit shadow clone, but instead a “visual clone” that you now see in first person- i.e. you are now the clone, and your true-self is only visible in your reflection
  • Improved Zero Gravity Controls
  • Increased deceleration while swimming
  • New Formula for Calculating Attenuation
  • Orbit World Space on Orbit Mode is now false by default
  • Prevent toggling crouch when using the Drone Camera
  • Implemented AdditiveContentScene to house Players, Props, and Portals so they can be easily differentiated from world objects
  • Implemented Flight without No-Clip
  • Implemented Include Mature Content search option
  • Implemented login in VR (takes you to the login Room)

    • Logging out will take you into the Login Room instead of exiting the game
  • Implemented new HUD Customization option to Fade When Idle in Graphics Setting
  • Implemented new TransformHiderManager

    • Reworked legacy head-hiding to allow for runtime toggling
  • Implemented VRIK for Desktop avatars, configurable in IK Solver Settings Desktop subcategory

    • Animation position correction & diving pitch control will also now affect Desktop avatars
  • Made HUD shard pulse rate increase briefly when an update is received

    • This should help signify which shard received an update when stacked

Adjustments:

  • Added cooldown to search refresh of 3 seconds
  • Added distance limit to QM reposition mode (1m scaled)
  • Added isValidForVrIk check before attempting to initialize IK for an avatar
  • Added the default avatar/world as fallbacks when failing to load into an avatar/world
  • Added vehicle boost control to XR Input module (right thumbstick forward)
  • Adjusted “cannot spawn prop” notification to be different for Local & Network users

    • Added HUD config to disable network user prop blocked notification
  • Adjusted controller disconnect to disable IK for that hand

    • Behaviour can be disabled with the FreezeControllerOnDisconnect IK setting
  • Added CVRAudioDriver methods to AnimationEvent whitelist
  • Adjusted default smooth turn speed to 50
  • Adjusted “Disabled” Head Bobbing mode to change HeadIKTarget parent while on Desktop
  • Adjusted Head Ray to only enable if both controllers are not tracking
  • Adjusted intercollision logic, so collider on sub gameObjects from Humanybody bones should be counted as such (e.g. bone on a child gameObject of the Hand should now be considered for hand placement and not only in Everything)
  • Adjusted MaxTrackerDistance to 0.5f from 1f (meters)
  • Adjusted menus to not be considered as world anchored while sitting
  • Adjusted menus to not close when forcefully respawned (Combat System / Respawn Plane)
  • Adjusted Opacity of Center Hex Hub on HUD
  • Adjusted OpenXR hand tracking
  • Adjusted PassPlayer layer to interact with IgnoreRaycast
  • Adjusted physics update rate on Desktop & OpenXR to match OpenVR default settings
  • Adjusted Portal/Prop Drop to place in front of you instead of in front of your view
  • Adjusted search box to immediately open to a details page when fed a proper GUID

    • Valid prefixes are `w+`, `a+`, `p+`, `i+`, `u+` with GUID postfix
  • Adjust Seated Play offset to 97% of height
  • Adjusted ShadowCloneManager to fallback if mesh topology is not set to triangles
  • Adjusted the max images to load in cohtml per animation frame to 25
  • Adjusted TransformHiderForMainCamera to hide unneeded clones when Avatar Overrender UI is disabled
  • Adjusted TransformHiderManager to disable head-hiding if the players camera is too far away (This should be a measurable improvement in performance)

    • This replaces the explicit check for head-hiding to not run while in Holoport, as well as missing heads in VR while in chairs
  • Adjusted UI to be hidden in camera by default
  • Adjusted VR switching to recalibrate active avatar instead of reloading it
  • Adjusted world anchored menus to offset with the player when forcefully respawned or while on a movement parent
  • Adjusted world load to set respawn height below all spawns as a safety measure
  • Changed advanced tagging to be more accurate with the definition in the CCK

    • Added missing "Loud Audio", "Long Range Audio", "Horror" mechanic for advanced tagging
  • Changed finger tracking sync to allow for more intricate movement
  • Changed IKCalibrationMode to be set to Full by default
  • Changed IKEnableUniversalCalibration & IKEnableSaveCalibration to be enabled by default
  • Cleaned up redundant "Enable" text for setting names in IK menu
  • Disabled physical interaction with the menus. This will need to be revisited later
  • Enforced faster updating of QM buttons such as Mute, Flight, Seated Play, etc…
  • Experimental option for small player collider was removed, and now the collider of the players will scale down to a minimum height of 0.05 units by default.
  • Improved the default placement and scale of the default placed pointers for humanoid avatars
  • Made Universal Calibration persist through restarts

    • Reintroduces the previously unintended behavior present before when Saved & Universal calibration were enabled together
  • Moved Show HUD option to Graphics settings
  • Moved Smooth Mic Meter setting higher in the HUD Customizations section
  • Nameplate material and shader updates

    • Adjusted nameplate up vector to align with playspace up
    • Readded outline to nameplate username text to improve legibility
    • Fixed culling of nameplates in mirrors
    • Fixed nameplate behavior when camera forward aligned with player up vector
  • Portable Camera image processing rewrite
  • Rewrote Focus Attenuation

    • Added Left and Right Ear Focus Customization
  • Rewrote Vivox Connection Handling and Persistence
  • Updated Magica Cloth 2 to 2.5.2

    • Release Notes available here

Fixes:


  • Crouch and Prone should no longer affect the player capsule radius
  • Fixed 4pt being considered FBT on calibration
  • Fixed a few issues with VRIKRootController not respecting avatar up vector
  • Fixed an error when calling PlaySound on a CVRAudioDriver when its gameobject is disabled
  • Fixed an issue allowing you to calibrate up to 3x in a frame
  • Fixed an issue where avatar root would still have velocity despite solver Reset
  • Fixed an issue where active offset didn't account for root up vector
  • Fixed an issue where TTS Messages would continue playback after Communication Services connection loss
  • Fixed an issue where VR Switching would not Calibrate the player into FBT if available
  • Fixed an issue with certain props (like piano fall lol) not able to be dropped using the raycast
  • Fixed an issue with CVRBlitter running for each camera in the scene
  • Fixed an issue with CVRGameEventSystem.Microphone not being called
  • Fixed an issue with Interactable SpawnObject not being ran through the World Filter
  • Fixed an issue with Microphone appearing Unmuted in Menus while using TTS
  • Fixed an issue with Microphone not resetting to the proper Mute state after Reloading CoHTML
  • Fixed an issue with remote avatar visibility changes applying AAS buffer when not valid
  • Fixed an issue with selecting QM AAS Profiles causing the MM to display the AAS Settings page when next opened
  • Fixed an issue with SteamVR_RenderModel throwing an error when starting in VR
  • Fixed an issue with Vivox SetPosition being called too fast (now adjusted to 200ms)
  • Fixed an issue with world spawnables being eligible for deletion by user using Delete All Props button
  • Fixed any possibility of enabling Seated Play prior to calibration
  • Fixed applyOriginalHipRotation not being reset when toggling from FBT to Halfbody
  • Fixed Avatar Upright not accounting for avatar up vector
  • Fixed Avatars without CVRAvatar breaking the object loader
  • Fixed being able to grab the camera while scaling it
  • Fixed being able to sit down in disabled CVRSeat
  • Fixed Box Fluid Volume not respecting the placeFromCenter for physics influencers
  • Fixed calibrating in FBT while player was rotated
  • Fixed calibration mirror not scaling with avatar while in calibration mode
  • Fixed CameraAttachment VisualMod not being disabled on new world load
  • Fixed clapping disabling the camera indicator in the menu
  • Fixed ControllerRay line renderer being delayed a frame when interacting with the UI
  • Fixed ControllerRay line renderer being wrongfully affected by other objects when using UI
  • Fixed ControllerRay not calling OnPointerExit when no longer highlighting any other UI elements of the same type
  • Fixed CVRAttachment TrackerType.LeftHand & TrackerType.RightHand not using Controller transform
  • Fixed CVRAudioDriver erroring when setting a negative value
  • Fixed CVRGlobalMaterialPropertyUpdater child materials not being populated in worlds
  • Fixed CVRInteractable method call not being filtered when disabled
  • Fixed CVRObjectLoader destroying PlayerAvatar container instead of avatar itself if no CVRAvatar component is found

    • Fixes avatars getting stuck at 0%
      Fixed CVRParticleSound for local and custom space particles
    • Parent the CVRParticleAudio audio sources to the correct transform depending on the simulation space
  • Fixed CVRPickupObject not forcing a drop on disable
  • Fixed CVRVisemeController JawBone mode can break IK when not actually mapped
  • Fixed CVRXRModule_SteamVR.trackingValid being false while in SteamVR overlay
  • Fixed DroneMode from receiving input when CVRInputManager.inputEnabled is false
  • Fixed emotes not playing in the direction of your view
  • Fixed entering a seat causes you to get stuck in a falling animation sometimes
  • Fixed error about Update_Emotes() that always showed up when starting the game in VR
  • Fixed event filtering and instance id on video players
  • Fixed FBT limbs reverting to t-pose when IK for a limb was disabled
  • Fixed feet freaking out while on a movement parent that can rotate on every axis (e.g. a boat in water)
  • Fixed feet in Halfbody always pointing in direction of view
  • Fixed feet sliding when moving in your playspace while on a movement parent in Halfbody
  • Fixed Friends, Vote, and Invite HUD events being triggered constantly & while disabled
  • Fixed game menus colliding with PassPlayer and BlockPlayer layers
  • Fixed hang on Exit issue
  • Fixed height adjustment -+1 -+5 buttons from applying twice the values (while displaying it once)
  • Fixed hold and drag the scroll view to scroll
  • Fixed HUD opacity being applied twice
  • Fixed IKSolverVRSpine applying rootHeadingOffset with world up
  • Fixed IKSolverVRSpine.ApplyOffsets sending you to space when upside-down
  • Fixed interactable OnTimer action creating a timer for every other timer action
  • Fixed Interactable OnTimer action not stopping when component was disabled
  • Fixed Locomotion IK being enabled without checking Upright
  • Fixed Main & Quick Menus opening upside down when a MinimumMenuTilt was specified, and player was rotated
  • Fixed MaxTrackerDistance check not taking play space scale into account
  • Fixed menu not exiting head turn mode when sitting in a chair on Desktop
  • Fixed MetaPort.OnPostVRModeSwitch being called twice
  • Fixed mirror shaders not writing to depth
  • Fixed mouse cursor getting stolen on launch while in background / in VR
  • Fixed “None” Head Bobbing mode not returning to standing height when playing an emote
  • Fixed not being able to calibrate just one foot
  • Fixed not being able to calibrate without hip tracking being enabled
  • Fixed not being able to swim down using crouch if on the surface
  • Fixed not being centered in the initial Login scene in VR
  • Fixed occluded controllers being considered invalid and defaulting to one-handed mode
  • Fixed opening camera via menu or gesture not aligning with playspace up
  • Fixed OpenXR with index not working (can't move or use menus)
  • Fixed parameter stream LocalPlayerNameplatesEnabled so it respects the settings to only show when menu is opened, and also respect the world setting whether nameplates are enabled or not
  • Fixed PlayerAvatarPoint.GetPointPosition returning incorrect value when avatar was hidden
  • Fixed PortableCamera AutoFocus being occluded by layers it could not see
  • Fixed PortableCamera AutoFocus failing to get correct distance when attempting to focus on the players eyes
  • Fixed PortableCamera not being able to see PlayerClone layer (local player shadows)
  • Fixed PortableCamera Take Photo from receiving input when CVRInputManager.inputEnabled is false
  • Fixed prop details page displaying "Avatar"
  • Fixed prop drop button not being greyed out when you do not have access to the prop
  • Fixed prop list sub-category bottom margin
  • Fixed Props without CVRSpawnable being impossible to destroy (wrapper & primitives never unloaded)
  • Fixed PuppetMaster _initialAvatarHeight being incorrect when remote user was at an angle
  • Fixed RawLookVector being clamped on Y axis

    • This fixes Look Y entry on CVRParameterStream
  • Fixed RCC AudioMixerGroup being set to worldSfx when component was not on same object as Spawnable component
  • Fixed running animations in FBT while swimming disabling leg IK when standing still
  • Fixed search cursor being forced to the beginning of the field
  • Fixed seated play breaking between Avatar switches
  • Fixed several Viseme issues
  • Fixed sitting in a chair from another chair to keep you in a falling state
  • Fixed some gestures not working when using quest controllers in OpenXR
  • Fixed spamming Enter on the game start breaking the game
  • Fixed search refresh button
  • Fixed Tracker line renderers getting stuck when tracker exited MaxTrackerDistance
  • Fixed tracking point visibility not being updated on tracking point connect/disconnect
  • Fixed TrackingModules, InputModules, and VR camera position not being updated prior to avatar - reinitialization
  • Fixed Unity UI Scroll views going beyond their max limit
  • Fixed universal calibration resaving calibration data every avatar switch
  • Fixed Video Player pausing with audio becoming desynced
  • Fixed VR Switching in a Legacy world incorrectly shader replacing ALL remote Avatars & Props
  • Fixed VRIKRootController incurring a slight drift along local Y axis when the player rotated
  • Fixed VRIKRootController when there were no hips/feet trackers
  • Fixed world anchored Quick Menu not respecting MinimumMenuTilt
  • Fixed world scrolling making worlds disappear
  • Fixed _initialAvatarHeight being incorrect when loading an avatar while upside down
  • Ignore alpha channel on lag-less screenshot method
  • Prevent being able to spawn invalid sync precision props
  • Removed period from "cannot spawn prop" notification
  • Removed the requirement of rigid bodies in movement parents
  • Rewrote Focus Attenuation
  • Use movement parent deltas from new player controller


Along with this update, CCK 3.8 will release tomorrow.