Changelog
- Added Cache Management category to Main Menu Settings
- Content, Image, and Video caching is now located here
Added Damage Number function to Object health components and in the runtime gizmos for damage RaycastersAdded Default Max Resolution and Default Audio Only Mode options for video playersOnly affects newly loaded players (world join/prop spawn)Added download progress on scrubbing bar (uses the buffer indicator)Added expected pause logic to resolve livestreams pausing after playback startsThis bug appears to be an upstream issue with AvPro/Windows Media FoundationAdded game server compatibility check systemThe client will now prevent and tell you why you cannot join an instance with breaking network differences from the client you are runningthis may or may not be related to a certain update to a certain game serverAdded long video length confirmation for hour plus videos and a hard max of 10 hoursThe larger a video the longer the download and higher the storage usageAdded Low Latency Mode Streaming toggle for video player in ImplementationEnabled AvPro Resampler and disable Low Latency mode when livestream is detectedAdded RTMP protocol to pass through in SetUrl (doesn't try to use YTDLP)These two changes above, plus the removal of auto recovery, drastically increase the functionality of livestreams. Not perfect, but alot better!Added thumbnail display while downloading videoAdded video and metadata caching for Youtube videosSubsequent plays of a cached video will be faster as they won't require downloadCache is cleared on game start or when they reach the configurable maxAutomatically downloads/updates the required FFMpeg executable for YTDLPImproved Badge Management:Added a Hide/Unhide button to badges, allowing you to prevent/allow others to see the badgeAdded an Unfeature button to badges, allowing you to remove your featured badge if you prefer to leave it emptyCombined the CVRAvatarPickupMarker and SpawnablePickupMarker components into a new CVRContentPlacard component:The UI has been redesigned to better display the content image and publication status. It is also now responsive to whether the content is available to you (for spawning/wearing) or if the content does not exist or is unavailable.The new component is also capable of displaying Worlds, Groups, and Profiles on the card, with exposed events to recycle a card at runtime.The old components still work as they have, but you can switch to the new combined component to take advantage of the new functionality.Reworked YTDLP for Youtube linksVideos are now downloaded before playback as they must be combined before they can playThis should be more reliable in the long run as we're relying more on the YTDLP defaultsDefault all playback in AvPro to not low latency and have resampler enabled for bufferingFix codec filters used by YTDLPThis fixes quality settings for various sites like Twitch, also allows audio only on Twitch and othersFixed 100MB option for Avatar Max Size / Prop Max Size visually becoming undefined on game restartFixed API requests which timeout after 30 seconds throwing internallyThis addresses an issue where authentication request timeout soft locked you for exampleFixed calling refresh categories and content endpoints when not neededFixed color banding in self portrait outputFixed CVRMainQM tab change not informing C# side and losing track of pagesFixed CycleButton not creating buttons properly, oopsFixed issue where a legacy hack would interfere with Group Moderator unblockingFixed minor menu issues:The refresh button in the discover tab is now disabled until selecting a categoryFixed an issue where switching discover categories quickly could break details buttonsFixed nameplates rendering position being incorrect in legacy worlds and mirrorsThey were billboarding differently in each eye 😠Fixed page open/close handling not being consistent across tab/navigation/menu state changesFixed sitting in a chair not immediately signaling state change for immobilizeThis was causing the player capsule to collide with the chair you sat in for one frameFixed TTS selection getting cleared if the currently selection is temporarily missingFixed videoplayers not showing the watching button on initial load of the videoplayerFix error when opening video player settings panelFix offline/local testing instance video playbackImprovements to ChatBox:User ChatBox messages sent within falloff range will now display on the HUDYou can configure the preferred place for user messages to appear in ChatBox settings (Bubble & HUD, Bubble Only, HUD Only)Mod and OSC messages will always display in a ChatBox bubbleLowered ChatBox ping sound to 75% of its original volumeInternal cleanup of the CVRGlobalMaterialPropertyUpdater to make it more efficientThere should be no behaviour changes, but if you encounter any issue let us know!Internal refactoring to asset filtering:Animated material swaps no longer bypass shader filteringThis applies to the custom shader content filter and nonspi shader filteringRender texture instancing now applies to animated material swapsBlocked/hidden props no longer needlessly run filtering logic before aborting content loadFixed allocation hotspot when filtering animation eventsMade the internals of CVRMaterialDriver more performant and fixed another allocation hotspotMoved all YTDLP resolution to newer setupMoved video player hardware decode to Implementation Video Player categoryMoved Video Player settings to Implementation settings categoryoh my god I touched too much video player nonsense please help meOnly download video if there is multiple formats in the target videoPass livestreams through newer YTDLP setup, you now get thumbnails while it starts up!Removed AvPro auto recovery as it was causing streams to restart when unneededThis in general I don't think is needed, it just forces the player to completely restart when it's struggling to keep up which probably just makes that worseRemoved "this cannot continue" placeholderIt could not continue...Fixes for several Prop-related systems:Fixed null subsync transforms preventing props from registering with the prop distance hiding system.Fixed the prop list accumulating duplicate subscriptions to prop state change events, which could eventually cause a long hitch when opening the Quick Menu. The severity depended on how many events accumulated in the cohtml trigger queue, with the queue growing faster the more times the subscriptions were duplicated.Fixed an issue where the object loader could drop a prop bundle if its loading task was canceled after the bundle finished loading but before the loaded object was registered.The impact depended on the Unity version used to build the bundle:For Unity 2019 bundles, this could prevent all Unity 2019 prop bundles from loading for the remainder of the session because they share the same bundle name.For modern bundles, this only affected loading of the specific prop for the rest of the session.Fixed minor issues with UI SFX:Fixed Camera indicator shutter audio source falloff being globalFixed ChatBox audio source having doppler enabledUpdated libVLC engine (17/06/2026)Updated Prop List to use new loading placeholderUpdated to AvPro v3.4.1Updated to VLC-Unity 2026.3Support ChilloutVR
Like every development team, we need financial support to be able to push updates and improve our project.
We are grateful for every bit of support we get. If you want to support us, you can do so from our Patreon.
We are more than thankful for your support!

August 1st Monthly Patreon Meetup Group Photo