We have just released a Stable update to ChilloutVR that includes various fixes and improvements, including but not limited to:
UI / Keyboard Rework
- 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
Groups
- 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
Portal Rework
- New circular Portals
- Fancy closing animation
- Support for panaramic images with depth for more immersion
Native Face Tracking Rework
- Eye Tracking and Mouth Tracking are now separate modules
- Smoother with support for viseme blending
OSC & OSC Query Support
- Send and Receive avatar customization and game inputs from external applications
Other cool stuff waow
- 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 CVRWheelControllerAdded 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 functionalityYou can set featured badge in-gameYou can now view other users badges as well as your ownAdded basic in-game Sharing functionalityYou can share your uploaded content directly to those in the same instance and un-share from yourself or othersAdded button to the in-game Support page to open the Logs folder in Windows ExplorerAdded CancelAllDelays, CancelDelayAtIndex(actionIndex), CustomTrigger(actionIndex) methods on CVRInteractable to the whitelistAdded clickable featured Group and Avatar on all pages showing the userAdded CVRGameEventSystem.World.OnReady eventThis will fire after world filtering & setupAdded CVRPickupObject.ForcePickup() method for Unity EventsAdded default disabled toggle to keyboard settings for UI grab componentAdded default Dismiss button to Quick Menu messages instead of declineAdded display Group detail page as a CVRInteractable operationRequires CCK 4.0 - to be released at a later dateAdded double-click to re-open Search KeyboardAdded file drag drop handler for selecting files to be used for images and suchAdded font shrink to most menus, names shouldn't escape bounds nowAdded GroupsThe following are current functional:CreationJoiningLeavingManagement (name, image, description, permissions, members, transfer, deletion)The following new Instance Types are now available:Public (Groups)Friends of MembersMembers OnlyAdded Friends of Group Members instance typeAdded fitting icons for everything in GroupsAdded Group invite and invite request functionalityHooked up Quick Menu Groups buttonAdded Home Instance Privacy and Home Instance Region to General settingsAdded HUD shard timeoutAdded IsFriend local core parameterThis 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 reproduceAdded LTCGI support to WorldsRequires CCK 4.0 - to be released at a later dateExposed SetGlobalState and SetVideoTexture method calls on CVRLTCGIAdapter (new component in CCK)Documentation: https://docs.abinteractive.net/cck/components/ltcgi-adapter/Added Mature Content toggle to DiscoverAdded missing licenses to LicenseManagerAdded My Profile with detail viewAdded new menu parameter streams:IsAnyMenuOpenIsMainMenuOpenIsQuickMenuOpenAdded onSnapped and onReleased events to CVRSnappingPointAdded OSCAdded avatar endpoint to send/receive avatar parametersAdded avatar endpoint to send/receive avatar changesAdded input endpoint to send game inputsAdded option to enable/disable OSC in-game on Settings -> Implementation -> OSC, OSC is disabled by defaultAdded launch argument to override the OSC listener port, sender ip/host, and sender portExpose helper functions and events to allow easily tapping into for new OSC ModulesAdded OSC QueryAdded launch argument to override CVR's service ID, this should allow it to function with OSC applications not compatible with CVRAdded parameter stream types for GameFocused and TimeSinceGameUnfocusedAdded Quick Menu message filteringAdded relative sync for seats & movement parentsAdded relative timestamp to activity feed entriesAdded --safe-mode launch argumentThis will load you into the default Kyle Avatar and Hub WorldThe Steam Launch Options dialog will display this on initial launchAdded setting to disable triggering the AFK parameter when in VR using the Headset SensorAdded slight fade time to selection highlightAdded Steam branch to Main and Quick Menu info blocksAdded 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 headIn 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 streamRequires CCK 4.0 - to be released at a later dateAdded TooltipHandler and ScrollHandler to Quick Menu, removed built in scroll handler and adjusted sliders to not scrollAdded tooltips to the menuNow present in many parts of the Quick Menu and Main MenuAll Settings now have tooltips that explain their purposeThanks to DragonSkyRunner for providing descriptions for nearly all of those that we used as the starting pointAdded User Notes to a new Info tab in the user detail viewAdded VelocityX, VelocityY, and VelocityZ local core parameters for avatarsAdded visualization to Mic Volume and Sensitivity slidersAdjusted CacheManager to skip loaded asset bundles when clearing the cacheThis is now needed since we're steaming the asset bundle files instead of copying them to memoryAdjusted content-name position and height across all list views, shouldn't cut off the bottom of letters nowAdjusted CVRBlitterController to not iterate all CVRBlitters needlessly when the rendering camera is not the main cameraAdjusted grip threshold for Quick Menu repositioningAdjusted held pickups to teleport or move with the player on movement parentsAdjusted IKTrackingSmoothing setting default to 2 from the evil 5Adjusted menus to not be forced closed on loading a new worldAdjusted Player Click handling to not occur when in a prop selection modeAdjusted Quick Menu repositioning to not allow Object Push/PullAdjusted Quick Menu repositioning to require holding down Grip on the opposite controller while hovering the menuAdjusted sizes of buttons and their textAdjusted skid steering logicAdjusted steam rich presence to mirror privacy optionsAdjusted the Avatar & Spawnable Pickup Marker UIs to work with this new method of interactionAdjusted the Portable Camera to require holding it to take pictures on interact againAdjusted the Video Player UI to work with this new method of interactionFixed the header button not being interactableFixed the background buffer slider eating interactions from the progress sliderFixed the progress slider value changed event not working properlyFixed the progress slider not being interactable in its unfilled areaRemoved the now unused SliderDragHelper scriptRemoved many box colliders from the UI elementsAdjusted UI Scale slider to also be VR-aware & work in VR"VR-aware" means the setting is saved differently between Desktop & VRThe UI Scale slider maximum was also adjusted to 125%Changed font of UI to use NotoSans, should support basically all symbol languages properly nowChanged how main tab view hiding works to reduce the amount of visible elements at onceChanged how Quick Menu and Main Menu initialize, things should generally be a bit more consistent during startup and with reloadsChanged seeking logic for LibVLC (Malthbern)Changed the Unity Company name from Alpha Blend Interactive to ChilloutVRThe game will automatically migrate the AppData/LocalLow folder to the new company name at first launchChanged the Video Player shader to output alpha = 1This doesn't change anything in game. However it allows for shaders that use the alpha channel to actually display the Video Player render textureChanges & Additions to the Game Event SystemActually hooked up Spawnable.OnDownloadQueuedAdded Spawnable.OnPropSpawned & Spawnable.OnPropDestroyed, which provide the PropData instead of SpawnableThe original Spawnable.OnInstantiated & Spawnable.OnDestroy events have been marked obsoleteDestroyed the obsolete OnPlayerEntityCreated & OnPlayerEntityRecycled events in CVRPlayerManagerDestroyed the obsolete Player.OnJoin & Player.OnLeave events, as they've been replaced with Player.OnJoinEntity & Player.OnLeaveEntityCleaned up many Settings categoriesCleaned up unneeded Cohtml componentsCleaned up unneeded UI code that was replaced by newer stuffCompletely rebuilt the KeyboardNow support multi-line and normal single line inputIn single line mode, up and down arrows act as historyLine count and character countPlaceholder textKeys no longer wiggle around when switching from lower to upper caseArrow keys to navigate the textNative copy/pasteKeyboard now exists on it's own view, so you can move it around your playspaceCollapse mode, you can configure this to be automatic on desktopIn-keyboard settings windowSettings can be configured from a window within the keyboardCompletely reworked Discord Rich PresenceImplemented rich invites/ask to join featuresAdded privacy options to Implementations/Rich Presence of main settingsCleaned up and merged old rich presence into 1 main classUses world image when details visibleCompletely reworked MessagesMessage system is now handled entirely in managed code, handed to Cohtml for display and interaction onlyQuick Menu Notification panel completely redone and restyledQuick Menu Notification Panel now shows all messages that are allowed to appear there, added scrolling and total message countImplemented additional categories for future info/alert messages or mod dev usageMessages now have defined title and main body text blocksMessages can now have any number of dynamically created buttonsEnabled ZETTAI_USE_UNSAFE in the Dynamic Bones job for free performanceExposed Terrain to Unity EventsFix CVRLeg logic to account for local rotations betterFixed an error with TerrainFoliageFix.CleanupAllKnownCameras when leaving a 2019 bundle worldFixed an issue where clicking Current Instance would open the wrong World details page if you had changed your home world while at homeThis also addresses clicking Current Instance sometimes doing nothingFixed an issue where dropped pickups would not un-listen to Teleport and MovementParentMove eventsFixed an issue where interactables would not react to variable buffer changesFixed an issue where OnPlayerTriggerEnter would fire 2x if moving fast enoughFixed an issue where running multiple clients out of the same installation folder would native crash the second client to open the Main MenuFixed an issue where the UI Scale setting did not apply its saved value on startupFixed an issue with how sprint mode Always was handled in the Gamepad & VR input modulesSprint will now only be applied when the specific input module is driving movement, instead of always enforcing itThis addresses a case where the Gamepad input module forced sprint when enabled in settings & using KBMFixed Avatar IsEmotePlaying state persists through avatar switchesFixed Avatar switch and prop spawn button being falsefully disabled in rare casesFixed being able to interact on Video Player playlist entries that are outside the canvas boundsFixed being able to spam the go home buttonFixed being able to use Desktop Zoom while any menu was openFixed 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 MenuFixed Collision Placement setting not working when picking Hands and HandAndFingers options for Magica 2 cloth collidersFixed crouch and prone states handling of player with the active drone modeDesktop:Entering in drone mode crouch and prone states are "locked"In drone mode player can't change crouch and prone with regular inputIncreasing drone speed (with shift) doesn't change state to standing no moreVR: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 playspaceFixed CVRInteractable.OnCron job not being removed on destructionFixed CVRPhysicsInfluencer applyForces not being driven by remote synced stateFixed distance check for avatar distance hider being done prior to actually moving the playerFixed DynamicBones being enabled when having Bone Dynamics disabled but Cloth Dynamics enabledFixed error spam if remote player is destroyed and still receiving AASFixed eye limits for up/down being invertedFixed eyes only using the LeftEye limits when using eye movement Muscle setupFixed FindObjectOfType being 2x per wheel for RCC 🙂Fixed fluid volumes not respecting the collision matrixFixed Friend Status not instantly updatingFixed gravity zones caching the entering colliders foreverFixed having framesNeededToUpdate different than 0 breaking mirrorsFixed HUD "Only Updates" mode showing HUD for mic amplitude changesFixed i+INSTANCEID shortcut for instance details not working in Main Menu SearchFixed IK scaling occurring before the playspace scale updatedFixed index pointer generation not checking entire hand for existing pointerFixed in-world input fields being interacted with when disabledFixed in-world input fields read-only state not being respectedFixed Mature Content toggle in SearchFixed "Menu Too Far Away" event occurring when the menu is closedFixed most disabled buttons still showing hovers and having colourFixed multiple spots where mic amplitude is used before volume is applied, HUD and threshold now use amplitude post volume adjustmentFixed not being able to go home from home after changing your homeFixed old tag not working with new Avatar CloneFixed phantom friend requests that when occurred could not be cleared by hitting "Accept"Fixed Quick Menu repositioning able to be triggered while closedFixed render texture instancing already instanced render texturesFixed shaders in Non-Spi worlds not being able to get the VR Left/Right eye positions correctlyThis should fix reflections and parallax effects in these older worlds appearing flat while the MultiPassHack was activeFixed some vegetation in worlds culling incorrectly in the Portable & Path CamerasFixed sub-interactables & pickups on objects not highlighting individuallyThe highlight effect will now crawl the hierarchy and stop at any object that will highlight on its ownFixed the API connection randomly stoppingThis would cause the activity feed, invites, invite requests, friend requests, etc, stop working until a restartFixed the following leaking textures:NameplatesPortal imagesVideo Player playlist thumbnailsVideo Player playlist video thumbnailsFixed the mouse being locked in Desktop causing some Event System drag interactions to be scuffed & jumpyFixed the Portable Camera Settings not being visible while scaled smallFixed the stutter that occurs when creating a new instanceFixed the Video Player playlist scroll rect constraintYou can now finally scroll past 8 playlist entries!Fixed the window being out of focus preventing Event System pointer eventsFixed velocity being nuked when exiting flightFixed View & Voice Points being targetable via Avatar AnimatorFixed warnings when joining the login room about negative scale collidersFixed World Anchored Menu rotation when on Movement Parents or TeleportingFurther adjustments to World event filteringImplemented HeadsetOnHead detection for OpenXR (only available if the used runtime supports it)Implemented Zettai's asset bundle stream decryption - thank you ZettaiImproved chilloutvr:// links to no longer open the console for a split secondImproved DeepLink so it doesn't require Administrator Privileges and will be configured automatically without annoying promptsImproved the drone camera rotation to be similar to how the player camera is handledPros: 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 controllersImproved the reliability of jumping to get out of fluid zones when pushing against their edgesImproved the reliability of the parameter stream HeadsetOnHeadIncrease default menu opacity setting to 90%, looking into ways to increase readability on messy backgroundsKilled the Offline starting instanceYou will now default to an Online OwnerMustInvite instance when joining your Home worldKilled the PlayerMaterialParser CCK Component in favor of Shader Globals:_CVR_PlayerRootPositionsThe w component is the avatar height in meters_CVR_PlayerHipPositions_CVR_PlayerHeadPositions_CVR_PlayerLeftHandPositionsThe w component is left hand gesture value_CVR_PlayerRightHandPositionsThe w component is right hand gesture value_CVR_PlayerChestPositions_CVR_PlayerLeftFootPositions_CVR_PlayerRightFootPositionsThese 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 eachMade instance types use pretty names instead of enum namesMade Quick Menu save new avatar profile workMade trying to join a instance that you have been kicked from too recently sent you to your home instanceMade ViewManager aware of Main Menu tab changesMigrated Quick Menu and Main Menu to CVRUIManagerBaseInput to simplify some initializationMinor adjustments to most parts of the Main MenuMinor clean up and style adjustments to basically everything elseHexagonification will continue, nobody can stop meTrust 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 changesMoved initial Main Menu settings update to markMenuAsReady instead of relying on BindCall from Cohtml sideMoved Logout to Exit menuMoved status text of Deep Link Status to line belowPotentially made rotating in 0G on Desktop more responsive & unbound from FPSPrevent negative & zero scaling of the local player VR rigProbably way more, it's been 2 months of touching things alot of stuff was fiddled!Redid FileDragDropHandler to hopefully not crash thingsRe-implemented the Telepathic Grab (Exterrata)If you hold trigger for a while it now times out. This should prevent unwanted telepathic grabsThe objects should now fly towards you in a nicer way, doing a nicer arcObject should now track your hand. They will go to where your hand currently is instead of where your hand was when triggeredPhysics objects will now respect physics properly, like collisionsRemoved deprecated tags from content filterRemoved fade duration from the highlight profile as it is broken and results is extremely bright colorsRemoved IsFriend checks on UserDetail view as it's unneededRemoved several things from the World Filter which are not relevant or unsupportedThis included avatar specific components, ones which were deprecated, and ones which never were even implementedRemoved the CVRSpawnable requirement for CVRCameraHelper to work, finally allowing it to function in Worlds without hassleremoved the GraphicsScreenSpaceReflections settingUnsupported in forward rendering 🙂Removed the Queue tab from the Video Player UI due to it not being implementedRemove onclick from user profile Avatar/Group button if it's a zeroed GUIDRemove VR Switch Setting and always have it enabledRenamed the Dynamics Removables setting names for props and avatar:Dynamic Bones -> Bone DynamicsMesh Cloth -> Cloth DynamicsDynamic Bone Collider -> Dynamics CollidersRenamed the IK Setting from Save Calibration to Save Calibration per Avatar to better indicate what it doesRename panosphere visual mod to capture panoramicReworked 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 capturingCapturing a panoramic no longer also captures the main viewport as a screenshotReworked Create Instance panel to better handle Group instancesReworked Home Tab entirelyReworked how content metadata & tags are cached and compared against when queueing content downloadsConsolidated AvatarTags & PropTags into one definition which can chew through the different formats from API & GSReduced allocation when handling content tags received from GS content updatesReworked Portals (major help from Exterrata)Can now be dropped mid-airCan now be placed in offline instancesAre distance-hidden when far awayOnly instantiate & load once within rangePanorama texture creation adjusted to reduce hitchPanorama forward direction now aligns with initial drop orientation of the PortalThis 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 panoramaReplaced the OG grounded Portal with a floating spherical oneThis new Portal better suites the gravity & flight mechanics we have due to there being no baseThe 0G Portal will still spawn in worlds using CVRPortalMarker and will benifit from all the listed changes aboveAdditionally the animations for the 0G Portal have been spruced upStereo panoramas deprecated in favor of mono with a better shader:Stereo only worked correctly when viewed from the original forward direction and was fundamentally flawedMany stereo panoramas had inconsistent left/right images due to post-processing in-sceneThe new Portal rendering will only use the existing left eye capture of the panorama texture and do a parallax effect to give depthThis is a major improvement over the old rendering which relied entirely on the flawed stereo image to appear 3DRemaining lifetime of dropped user Portals is now displayed above the PortalThe target instance region and Portal dropper are now displayed above the PortalAdded Drop Portal button to the User Details pageThe 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 instanceYou can also configure this notification to apply to Portals dropped by anyone or disable it entirelyThe rotation of your dropped Portal is now synced over the networkPortal panoramas now use the image cacheYou are now prompted to enter a Portal once nearby via input pressWhen walking up to a World Portal accepting this prompt will create a new instance & join itPortals now require the menu to be open or to have the mouse unlocked to open their detailsThis is to both make them consistent with how you select Players & Props and less likely to accidentally clickReworked scrolling in the menus a bit, it now requires a 50ms hold and a 50 pixel movement before scrolling is initiatedThis will also now prevent button clicks from firing once a scroll has begunThese values may get more tuning as we get feedback, but it's already SO MUCH BETTERAddressed some other elements that got funky from this changeReworked the native face tracking implementationEye tracking and mouth tracking have separated modules for processingAll 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 schemeOSC nodes for expected parameters are created only if don't exist in avatar's animatorFixed SRanipal face tracking looking choppy, it should now be smoothOSC module for Face/Eye tracking now only requires the parameter name to matchExample <any_path_of_parameter>/<parameter> is trimmed to <parameter> for better compatibility with existing appsAdded lipsync while face tracking toggle in the settingsReworked the TerrainFoliageFix to only run when the loaded World Asset Bundle Unity Version differs from the Client Unity VersionReworked Unity UI interactionsIMPORTANT: This may be a breaking change for some existing content. Please take a look!Now driven through the Unity Event SystemThis addresses several issues:You no longer need to shove colliders on all Unity UI elements to be able to raycast to themYou no longer will raycast to Unity UI through the Main/Quick Menus or other UICreating 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 runtimeYou can now limit the interaction distance for your Unity UI via the CVRCanvasWrapper componentMost importantly, there should no longer be a disconnect with what works in Unity and what works in ChilloutVR in reguards to Unity UISeveral setups only work in ChilloutVR and not in Unity/PlayMode due to the old method of how Unity UI interaction was handled, and vice-versaSeparated the left and right blinking handlingRequires CCK 4.0 - to be released at a later dateThis allows the new separated blend shape mode in the CCK workThe Main Menu & Quick Menu will now remain in place while they are playing their closing animationThe on-screen keyboard is now displayed when clicking on in-world input fields on DesktopUnity UI drag threshold is now scaled with playspace scaleUpdated Magica Cloth 2 to v2.16.1Updated the Discord invite URL in the Support page of the Main MenuWhitelisted RectMask2D for SpawnablesNotes
- 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:ExterrataMalthbernAlso 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...