Hello everyone! We've got a new build out for you! This is VRChat 2023.2.1, build 1294.
⚠️ This update is NOT network compatible, so you will not be able to see your friends until they update. Users who are on older versions will not be visible to those on the latest version, and vice versa. Please ask your friends to update VRChat!
Check out our latest Video Patchnotes for more info!
Here's the short list. This isn't everything, check the patch notes above!
Client
New Features
Native eye tracking is here! It currently supports Quest Pro standalone as well as OSC input.
There's also a bunch of new settings available in the Tracking & IK main menu page such as:
Disabling eye-look and eyelid tracking separately
Setting eye tracking to turn off when you mute yourself (in case you want to keep the eye rolling private…)
A toggle that will show you where your eyes are currently looking. This toggle does not show for remote users.
Force eye tracking raycast, which will force the eyes to converge at a distance determined by a raycast hit. A fancy feature that lets eye tracking align to the depth of different surfaces in your worlds. Perfect for those who love staring longingly into deep abysses…
And do not fear, if your avatar had the existing automatic eye-look set up in the SDK, it should work with this system
Note that winking is coming soon (in a future SDK version), but it will require a reupload to function
The Settings menu has been completely overhauled with a new look and better organization
Avatar downloads are now prioritized by size, which means loading into a world—especially on slower internet connections—will show you more avatars more quickly
Improvements
Added a new launch flag --disable-hw-video-decoding that will force software video decoding on AVPro video players
This may provide a fix for those experiencing video issues on AMD GPUs, but will use slightly more CPU resources instead; if you have experienced stuttering or crashing with video players before, please let us know what hardware you have and if enabling this helps!
The 2FA input panel will now auto-select the text field
The camera focus ring will now fade to gray after a few moments so you can focus ( ;) ) more on your picture's subject
Fixes
"Here" tab now refreshes current location after switching instances
The Groups Info page will now allow you to accept pending invites instead of always showing "Request to Join"
Issues when logging out and back in without restarting
Nameplates no longer float too high above avatars in relation to SkinnedMeshRenderers without a root bone
The "emergency avatar" shortcut (~, \, #, or similar) no longer triggers while typing in a text field
"Represent Group" button now shows when viewing a group from a user profile
Improved transparent shader for avatar hider and earmuff distance visualizations
Built-in keyboard weirdness when moving the caret to the start position and entering a new character
Placeholder controller image on "Controls" page
MSAA no longer defaults to "Off" on fresh installs
Camera issues such as scrolling through camera filters, camera submenus, and camera scrolling over focus settings when using the arrow buttons
Issues when loading "Generic" avatars
Issues with animated audio on avatars when earmuffs are enabled
Hovering over elements in the wing menus sometimes not animating correctly
Potential improvements to EAC unloading, preventing some users from restarting VRChat
Safety and security fixes
Additional Notes
In a future release of VRChat, we're adding tooltip translations to the Quick Menu and Main Menu for Japanese, German, French, Italian, Spanish, and Korean!
These translations are only for the tooltips to start
These were originally slated for release with this update, but due to feedback from our localization community, we're delaying until a later release
OnOwnershipTransferred now fires when master client leaves
Serialized network IDs (from the Network ID tool in SDK) now read correctly in client, which fixes some worlds breaking their Udon sync between platforms
Security changes around the Udon Blacklisting system. Any GetComponents call may now return null entries if there are filtered components: Watch for this in your scripts!
Hello everyone! We've just released VRChat 2023.1.2 (1286) live!
This update is now live on all platforms!
⚠️ This update is NOT network compatible, so you will not be able to see your friends until they update. Users who are on older versions will not be visible to those on the latest version, and vice versa. Please ask your friends to update VRChat!
In this update, we introduced several quality-of-life improvements and several bug fixes! Check out our latest Video Patchnotes for more info!
Avatar texture memory usage is now considered a ranked performance stat and will affect your avatar’s performance rank.
PC:
Excellent: up to 40MB
Good: up to 75MB
Medium: up to 110MB
Poor: up to 150MB
Very Poor: 150MB+
Quest:
Excellent: up to 10MB
Good: up to 18MB
Medium: up to 25MB
Poor: up to 40MB
Very Poor: 40MB+
This is not upload size. This is texture memory usage. They are not the same thing.
Completely overhauled internal handling of portals! This should provide much better stability and security to portals, preventing many cases of portals disappearing or desyncing between instance members
Friends+ portals now default to unlocked
Earmuffs range can now take the shape of a cone, allowing you to focus on conversations in front of you
Nameplates will show an icon when a player has earmuffs enabled
Avatar "Hide by Distance" and "Hide by Count" visual aid and toggle
PhysBones have been adjusted to use and maintain the initial hand-to-bone offset as your "grab position" instead of a fixed relative position per bone
This means that grabbed PhysBones won’t move or "snap" when you initially grab. They will only move when you move the grabbing hand
An upcoming SDK update (next week) will add in a toggle that will allow you to turn this behavior off per component
Added a Report User option to report users for using a modified client or "hacking". You can find this under "Report User -> Behavior".
Reporting people using modified clients in this way is very helpful to our Trust and Safety and Security teams! Thank you for your reports!
Bug Fixes
Fixed multi-layer camera not being accessible for non-VRC+ subscribers
Fixed an issue that could cause crashes when disconnecting multiple audio devices at once
Fixed last valid portal placement marker getting stuck in place when looking at invalid surfaces
Fixed portal placement in situations with no surface available at all blocking user input
Fixed shuffle button in "Random" worlds menu not working
Hello everyone! We've just released VRChat 2023.1.1 (1277) _live_!
This update is now live on all platforms!
⚠️ This update is NOT network compatible, so you will not be able to see your friends until they update. Users who are on older versions will not be visible to those on the latest version, and vice versa. Please ask your friends to update VRChat!
In this update, we introduced several quality-of-life features, many improvements, and some fixes for issues bugging people over the holiday break! There's so many that we decided to make a quick video for you, in case you don't like reading big walls of text:
The VRChat Early Supporter Badge is getting retired at the end of the month.
That's this guy:
This badge is the one that appears in your profile, as shown above. It’s been active since December 2020, so needless to say, I think we’ve given everyone a fair chance!
Of course, if you already have the Early Access profile badge, you’ll keep it.
And don’t worry, VRCat will continue to pester you for treats from their vantage point on the quick menu.
You have until the end of January to nab 'em before he's gone forever!
New Year’s Eve – VRChat’s biggest event of the year – is again upon us!
Once the event is live, you'll be able to join in by launching VRChat and finding the VRChat Square world in your Worlds menu at the top! There are two versions -- one is normal capacity at 16 for a comfy event, and a MAXIMUM capacity version at 40 if you want to bring in all your friends!
The event will start at the first New Year in the world -- UTC +14, the earliest time zone on Earth!
Check your Worlds menu to find the "New Years 2023" category! Click on it to see both worlds! Hop in an instance with your friends, or spin a new one up!
Ring in 2023 with your friends as it arrives across the world! We’ve given our New Year’s Eve world a brand new coat of paint, as well as invited in a brand new set of community creators to make it extra special!
They’ve brought in their food trucks, stocked their booths, and helped hang their billboards all around VRChat Square. There’s a ton to explore – you’ll probably see a few familiar faces, as well as some brand new ones! (And don’t forget to keep an eye out for new Groups to join!)
And of course, there’s also the brand new VRChat Entertainment Network, presented on the Tundra Stage, which will be streaming DJ sets from some of the most talented performers in the VRChat community throughout the day. Check the lineup below!
But the VRChat Entertainment Network isn’t just about music – throughout the day we’ll also be playing hundreds of video submissions from the community! If you're curious to see who's got a video lined up, check out the schedule.
In VRChat Square, the ball drops for every timezone from UTC+14 through UTC-12, with fireworks for everyone along the way! And yep, we've got the half-hour ones. And the three-quarter hour ones! ... and yes, we accounted for ongoing daylight-savings offsets. Wow, time zones are confusing.
(PS: The best place to watch the ball drop might be on top of the tower – and if you’re a fan of Hololive, you might see some familiar faces up there…)
We hope you can come and join the VRChat community as we celebrate yet another year gone by, and look forward to the future!
We’ve just released VRChat 2022.3.1, the UI 2.0 Update!
Hop into VRChat right now to try it out!
View the full blog post here. As always, the full patch notes are available in our docs.
UI 2.0 is Now Live!
The Main Menu has a new look! This update has been a long time coming, and we have a lot to tell you about it.
The new Main Menu isn’t just an aesthetic upgrade – it’s a functional one! The new Main Menu is more organized, offers more customization options, gives users more information, and allows us to add more features to VRChat in the future (things like customizable, skinnable menus for world creators! Localization! Quality of life improvements! Tons of stuff we haven’t even thought of yet!).
On top of that, core upcoming systems like groups and the creator economy couldn’t happen without it.
…and that’s all before we get into the new HUD!
There’s so much new here that we couldn’t possibly cover it all in this blog post. Instead, we’ll first run down our thinking behind the new Main Menu, and then we’ll go through some of the new features that you can expect to see when you hop into VRChat.
Upgrading the Main Menu
The old Main Menu was the product of necessity. To be blunt, for a long time VRChat was being built by a very small team. We didn’t have the time to put together the perfect UI – good enough was all we needed.
After all, crafting a beautiful UI that looks good (and performs well!) in both desktop and VR is a challenge. Over time, though, the team grew, and we were able to sketch out and build a UI that would be aesthetically pleasing, fast, and easy to use, yet customizable for power users.
You’ll notice the new Main Menu looks a lot like the Quick Menu – that’s intentional! We wanted to make sure that VRChat has a consistent design language, both for aesthetic reasons and practical ones. Likewise, you navigate them in similar ways.
We wanted to make sure that the menu was intuitive to VRChat users. This way – even without having used them before – you should easily be able to find the information or features you’re looking for.
Most of the tabs can also be customized. It’s possible to minimize the left-side bar on some of them, which should let experienced users see more information while hiding descriptions or text boxes they don’t need. There are a bunch of new Main Menu Wings, too. These can be customized just like Quick Menu wings, and should help you navigate VRChat a lot faster than before.
We’ve also baked in some other new ways to customize the Main Menu. One of these ways is the ability to change the image in the background. While all users will have the option to change between 3 different images, users with VRChat+ will be able to choose between 37!
As you can see in the gif below, all of these backgrounds are parallax – which should make them extra fun to play with in VR.
Exploring the Main Menu Tabs
The new Main Menu has been broken down into tabs, much like the Quick Menu. You can see these here at the bottom:
When you click them, you’ll be brought to individual sections, some of which are upgraded sections of the old Main Menu, and some that are brand new.
While we won’t be going over every tab, here’s a brief overview of some of them and what they do.
Launch Pad
The first thing you’ll notice when you open the Main Menu is the Launch Pad. The Launch Pad is an entirely new section that shows you a bunch of useful information at a glance.
You’ll be able to quickly see how many friends you have online, how many pending invites and friend requests you have, what worlds you’ve been to recently, if any of your favorite worlds have received an update, and who you’ve recently hung out with.
This way, there’s less friction between you and the stuff you want to do when you sign into VRChat.
World
The world menu has been completely redesigned. Our main goal here was to improve discovery, and to encourage users to explore more.
The first thing you’ll notice is VRCat’s Variety Box! This new landing page features a random world from many different categories, giving lots of worlds a chance at the limelight. Click the "Shuffle" button in the top right to get a new selection of worlds, or dig into an individual category on the right side.
As mentioned earlier, you can minimize the left-hand side menu here to see more displayed worlds. If that’s still not enough for you, you can click the top right grid icon to squeeze even more worlds onto the page.
We also have more room for categories, giving creators more chances users will discover their worlds.
Social
The social menu has also changed! Just like the world menu, you can see far more of your friends at once now. We know users with a lot of friends often have trouble scrolling through all of them – which can make it difficult to figure out who you might want to hang out with.
Now, you can see at a glance who you can join, as well as who is hanging out in private worlds.
Just like with the world menu, power users can minimize the menu on the left side. This way, you can see even more of your friends at once. You can also quickly navigate through your friend groups, as well as your offline friends, and any users you’ve blocked.
Search
Search in VRChat is changing – a lot!
First, when you first enter the search page, you’ll be presented with a series of random queries. When you reload the page, the queries will be randomized. We want to get users into worlds they might not have otherwise found, and we want world creators to have a better chance of users stumbling across their creations.
The search results page is different now, too. You should see more results, and you can also filter them with more options than before, giving you a better chance of finding what you’re looking for.
This should also make searching for users much less painful, too.
Help & Information
Joining VRChat for the first time can be overwhelming – we haven’t done the best job of explaining how to do things in the past to new users. The Help & Info section goes a long way to solve that issue.
In this section you’ll see how-to guides on just about everything in VRChat. Need to know how to add a friend, find a world, or an avatar? There’s an article for that.
Looking for how to configure your microphone, or tweak your movement settings? Once again, we’ve got an article for that.
When we add new features to VRChat, we can also put guides here for users. That way, there’s no need to dig into an external source to figure out how something works – it’ll all be right here, in app and catered specifically to every platform that’s currently compatible with VRChat.
We’ll also be posting patch notes here, so users can read about what we’ve changed in VRChat without having to go to the Discord or the website.
Settings
In the past, there hasn’t been a singular place to find all of the settings and options you can adjust. You might have some under Safety, and some under Performance, and a few others scattered everywhere else.
The new Main Menu solves that by adding a dedicated tab just for Settings.
Here, you’ll find almost every setting condensed into this one tab. We’ve also organized the different types of settings, so it should be easy to find exactly what you’re looking for.
Avatars
The Avatars Tab has a few new tricks up its sleeve. One new feature we think users will love is the "Recently Used" category. This category holds any avatars you’ve recently worn in VRChat. If you’ve ever worn an avatar, loved it, and then switched to another before realizing you’d forgotten to favorite it, then this feature is for you.
The new Avatar Details window features a lot more information, too.
You’ll be able to see what platform the avatar is for, as well as what features it has (eyelook, visemes, what version of the SDK it uses), who the author is, and much more.
Oh Hey, a New HUD!
We’ve received a lot of feedback on the HUD over the years – we figured that now was the best time to incorporate as much of that as possible.
Not only does the HUD look different, but you can now adjust the opacity of the whole thing, or the individual elements. For those of you who’ve wanted to disable just the microphone icon, you finally can!
We’ve added in new notifications, too. You can choose to have one displayed in the center of your screen when you receive an invite or friend request. You can also choose to have a notification displayed on your screen when someone joins or leaves the instance you’re in.
The new HUD is way more customizable than the old one. We think you’ll be able to make it way more comfortable for you, regardless of if you’re in VR or on desktop.
But That’s Not All!
The Main Menu is a major part of VRChat – and redesigning it has been a huge task. We’re so excited to finally be able to get it in front of users.
When we say there’s a lot of stuff in the new Main Menu, we really mean it. While we’d love to show you everything in this post, the best way for you to experience it is to go and try it!
Hop into VRChat now and check out the new Main Menu! We’ve worked hard on it, and we hope you enjoy the changes and improvements we’ve been making. We’ve got more on the way, so stay tuned!
Since the announcement yesterday in our Discord, we’ve gotten a LOT of feedback from all of you regarding the incoming 2022.2.2 VRChat update that integrates Easy Anti-Cheat.
We are reprioritizing, reorganizing, and changing our internal development roadmap to focus on the feedback you’ve given us.
Let’s follow that up with the hard part: we are going to be releasing this update, and we do not have plans or intent to revert or roll it back.
However, we hear you and see you saying that many of the modified client features that are being lost due to this are extremely important to you, or in some cases allow you to use VRChat at all, when in regards to modifications that added accessibility features that VRChat currently lacks.
Addressing these concerns and feedback is our highest priority. We are changing our internal development roadmap and priorities to focus on the features and additions that you want. Currently ongoing projects are being paused, rescheduled, or re-prioritized, and resources are being re-allocated to account for this change.
In addition to the information we already had on hand, we’ve been talking to VRChat communities and community leaders about the changes and additions that they want most, including speaking to communities focused on accessibility to VRChat. We’ve also been watching and documenting constructive feedback via our typical channels like our Feedback boards, social media, and this Discord.
Our first priority for these changes is addressing several accessibility concerns in VRChat. We’ve got an internal list of improvements we can implement quickly and are fast-tracking it through our production and implementation process. We will be posting more information about those changes tomorrow.
Those changes will not be our last. We have more planned and are gathering more information to understand and address more of your needs. As noted before, we are immediately adjusting internal development to address these changes.
Thank you for your patience as we work as quickly as we can to address your concerns and your feedback. We’ll be back as soon as possible with the first set of these updates, changes, and features.
VRChat is using the most up to date version of EAC, which allows you to have multiple EAC applications running at the same time as long as they do not launch at the same time
Other applications that use older EAC builds like Elden Ring, Halo MCC, or Apex Legends cannot be run at the same time as VRChat. If those applications update to the latest version of EAC, you could run both at the same time. As far as we’re aware, Fortnite is the only other application that has updated
EAC is disabled in local test builds of VRChat, so doing local testing of worlds is unaffected
Implemented Secure Instances! Please read more in our blog post.
Secure Instances means that instance rules are now enforced on the server side
For example, you cannot join a Friends instance without being friends with the owner, and you cannot join an Invite instance without being invited
Added "Portal Locking", which allows or disallows users from seeing and using the portal depending on the rules of the instance you’re going to
By default, Friends/Friends+ portals you drop will be Locked! This means that when you drop a Friends+ portal in a public instance, only your friends will be able to see and use that portal! You can still unlock the portal before you drop it in case you want everyone to join
Portals to Public instances are always unlocked because anyone can join public worlds
Portals to Invite and Invite+ instances are always unlocked because the only person that can join a new Invite or Invite+ world is the instance creator (that’s you)
As such, be careful when dropping portals to Invite and Invite+ instances. To remain as private as possible, go to the instance and then invite your friends
Added UI to indicate what type of portal you’re dropping, and to swap between Locked and Unlocked when dropping a Friends/F+ portal
Links generated from the website can now be Locked or Unlocked
Locked Links are generated by default and enforce rules on entry
Similar to portals, this is only really sensible for Friends and Friends+ instances. We’ll be changing the default in an upcoming website update
Unlocked Links can be optionally generated, but allow anyone with the link to join (kind of like the "Allow anyone with the link to view" in Google Docs)
Be aware that once you’ve given out the Unlocked Link, that link can be shared with anyone, who can then join your instance!
Old instance links will break, you’ll need to re-make them if you’re keeping an old instance link around
Improvements
Improved the handling of instantiated UdonBehaviours so that they are more stable and do not attempt to do networking or cause errors in the log
Implemented a button in the Action Menu that will reset the position of your PhysBones
Fixes
Fixed issues with video players on Linux, which should resolve some video player-related issues on Steam Deck
Fixed exploits where FinalIK scripts could be used to crash users
Fixed an issue with nameplate text rendering
Fixed issues interacting with some Settings in the Main Menu
Known Issues
Virtual Desktop Users: Using the Oculus PC version of VRChat via Virtual Desktop no longer works, as it utilizes DLL injection which is blocked by EAC. Please use Oculus AirLink or the Steam version of VRChat instead!
Some portions of Secure Instances cannot be enabled until after Live launch, so instance join behavior, friend location, and security features may take a day or two after launch to start behaving 100% correctly
SDK
Improvements
Converted DB components will now match enabled / disabled state in-app and in the SDK
Hey everyone! Let’s talk about the latest VRChat update– introducing VRChat IK 2.0!
This update includes a huge upgrade for our IK system that’s been in a compatible-with-Live beta for a long time. Thanks to the amazing feedback from our Full Body Tracking community, we’ve managed to fine-tune our IK system into a best-in-class tracking system. Everyone benefits from these changes, not just full-body tracking users!
… that being said, oh boy, is there a lot of cool stuff in here for FBT users. Then again, by our numbers, pretty much all of you are on the beta anyways! So, thank you for all the help testing and your excellent feedback!
Learn more about the IK 2.0 update in the documentation page we set up for it! We’ve also updated the Full-Body Tracking doc page to get it up to date with the new system. Alternately, check out this video!
In addition, we’ve made tons of other improvements along the way, including doubling the amount of avatar parameter space available, increasing the sync rate of avatar parameters for desktop users, a significant boost to PhysBones performance, big improvements to our input system that should help us net that vaunted "Steam Deck Verified" checkmark, and more!
Make sure you read the full patchnotes on our docs page– alternately, you can just check them out here!
Client
Features
Added support for up to 11 points of tracking!
The newly supported tracking points are: chest, knees, and upper arms
Chest tracking will twist the chest based on your tracker’s rotation
However, when you use the "lock all" IK option, the chest will use both tracker rotation and position
For upper arms, a single tracker simultaneously controls the elbow and shoulder. To use shoulder tracking, you must wear your tracker above your elbow!
Implemented Per-tracker IK combinations! It’s now possible to mix and match most combinations of tracker locations!
For example, if you have only two trackers and would like to track just your elbows without your lower body, that’s now possible
Asymmetric tracking is also supported: with just a single tracker you could track just your left foot if you choose
Asymmetric combinations such as just your right foot and just your left elbow are possible
If a tracker disconnects or is turned off, the per-tracker IK will readjust to mix and match tracking and IK for whichever trackers are still available
If that tracker is later powered on again, tracking will be restored with the previous calibration intact (even if this happens after switching avatars!)
Users without elbow tracking (including non-full-body PC and Quest users) can enjoy automatic prevention of elbows clipping through the avatar’s torso.
Full body users have new configuration options for FBT in the QM settings tab.
Lock-hip option: This option prioritizes hip tracking, allowing the head to drift slightly to avoid odd neck or spine crunching.
Lock-head option: This option prioritizes head tracking ensuring no view-point drift, but allowing the hip to drift slightly to avoid odd neck or spine crunching.
Lock-all option: This option strictly enforces both head and hip tracking. If the trackers get close together the spine will bend in any way necessary to have both align simultaneously. Depending on your avatar’s rig, this might cause odd posture. This option works best with a chest tracker
Added a toggle to measure avatar scale by either arm-span or by height. The default is to measure by arms, switching this to measure by height can give an improved fit for avatars in full body
A legacy IK toggle is available in the quick menu to restore old IK solving behavior. This does not revert calibration and tracker changes. Eventually this legacy toggle may be removed.
Implemented Calibration saving!
After calibrating once, your calibration is saved for all avatars
When switching to a new avatar, the calibrated set of trackers is proportionally remapped to that avatar and you do not have to calibrate again
In general, you should be able to calibrate a single time per session, and switch avatars endlessly!
Full body users will now start up in 3pt (head and hands) IK rather than stuck in a TPose
Calibration now ignores trackers unreasonably far from the body during calibration
In other words, it’s possible to have trackers powered on without them being forced into the VRChat calibration process
Calibration now ignores trackers located precisely at coordinates (0,0,0) to prevent binding to some trackers that will appear there in SteamVR when powered on but not tracking
To enable full body, users must manually press the calibrate button in the quick menu to start the calibration processes
The AV3 TrackingType parameter will now update depending on per-tracker-ik status. For now this still only uses the old 6-point system and the goal is keeping compatibility with existing custom animators. When both feet are tracked, TrackingType will be 6. If one or more foot is not tracked, but a chest or hip tracker is active, TrackingType will be 4. Otherwise TrackingType will be 3. (There are no changes to the rare cases that can still cause TrackingType to be 0, 1, or 2. See https://docs.vrchat.com/docs/animator-parameters#trackingtype-parameter for details on those situations)
Added a bunch of launch options for customization of IK 2.0 features. These launch options may later be integrated into the UI, but for now we’ve added them here
--custom-arm-ratio="0.4537" - Adjusts the ratio used to scale the avatar when using measure-by-arms mode. "0.4537" is default, smaller values around "0.415" may give improved fit.
--disable-shoulder-tracking - Use this to avoid issues with some types of IMU-only based arm trackers
--enable-ik-debug-logging - Adds additional output to the log regarding IK. Use this when reporting bugs or issues with IK
--calibration-range="0.6" - Determines the distance from predicted supported binding points that the calibration will search (in meters). The default value defines a 0.6 meter (60 cm) sphere. This applies to feet, thighs, hip, upper arms, and chest trackers
--freeze-tracking-on-disconnect - Enabling this will cause trackers to freeze in place relative to the player when they are disconnected. To remove frozen trackers you can calibrate again. If all your trackers have disconnected so the calibration option is no longer visible, cycling the Avatar Measurement option will also unfreeze them
Significant adjustments and improvements have been made to input in VRChat!
Gamepad, keyboard and mouse input now goes through the Unity Input System
Gamepad input has been brought up to feature parity with Keyboard and Mouse
Action Menu Support has been added for Gamepads
Implemented a new mapping scheme for Gamepads
Thumbstick vertical look is no longer affected by framerate
Implemented virtual, stick-controlled mouse cursor to navigate menus
Implemented support for the "Player Select" system
Implemented support for various controller schemes (PS3, PS4, PS5, Switch Pro, Xbox, Steam Controller, Steam Deck and more!)
Tooltip icon prompts are now based on the button mapped to that action and based on which controller is connected
Implemented object rotation using middle-click followed by mouse movement
Implemented the Steam Deck on-screen keyboard in menus that require typing
Changes, Improvements, and Fixes
PhysBones have received a significant performance improvement!
Max avatar parameter memory space has been doubled from 128 to 256 bits!
Avatar Parameters are now updated in Desktop Mode as quickly as they are in VR
Various fixes and improvements to internal memory management processes
Fixed issues with upper body positional desync on some setups in FBT
Added/refined support for upper-chest humanoid bone in FBT
Fixed calibration binding causing tilted angles at the hips on some rigs in FBT
Fixed issues with chest rotation when the user lies down in FBT
Fixed issues with chest rotation when the user spins quickly in FBT
Fixed issues with chest rotation when the user turns upside-down in FBT
Avatar Dynamics: Fixed an issue where the left and right foot was swapped in avatar setup
Fixed an issue where tracker binding would shuffle between different trackers when a tracker loses connection
Default base standing animations in full-body tracking no longer cause odd toe bending when crouching
Improved anatomical modeling of shoulder bone motion. Avatars with long shoulder bones should now look much better than previously
Reaching beyond the avatar’s arm length no longer causes the torso to be pulled to rotate or lean towards the hands
Users will no longer lose tracking when opening the SteamVR overlay
Improved Force Rejoin behavior after waking Steam Deck from sleep mode
Fixed an issue where the Quick Menu button to add the current world to a Playlist wasn’t working properly
Fixed an issue where PhysBones would vibrate unintentionally due to issues with high framerates
SDK
Changes, Improvements, and Fixes
Max avatar parameter memory space has been doubled from 128 to 256 bits! So good we listed it twice.
OSC debug console has been doubled to match the increase to 256 bits
Added height back to the PhysBone Collider Capsule shape type
Fixed a NullReferenceException related to serialization
Fixed object and player grouping not working as intended, along with some improvements
Fixed SyncPhysics issues with syncing Gravity / Kinematic and coming out of sleep
Significantly reduced the amount of allocations in Udon Sync
Arrays having entries change no longer cause an OnVariableChanged event
Array references are no longer invalidated on Sync
Fixed sync errors caused by cloning scene UdonBehaviours using Instantiate. Cloned UdonBehaviours are now forced to None sync
Hello everyone! It's finally time... Avatar Dynamics has launched on Live! That's right, VRChat 2021.1.2 (build 1189) has just launched on our Live branch and is now available on all platforms!
Check out our latest blog post for a full intro and user manual on Avatar Dynamics, including a crash course on how to use our Permissions system to permit and deny interactions with your avatar.
Want to high-five your friends? Give your pal a real headpat? Unfurl your wings? Grab and manipulate your face? Press a self-destruct button on your friend's avatar? All of that is now possible -- and so, so much more. Avatar Dynamics unleashes an entire new set of possibilities for VRChat avatars, far beyond anything we could summarize here.
…did we mention that Quest users can now (finally!) see their friends' hair, ears, and clothes move with real-time physics?
Avatar Dynamics adds in some of the VRChat community's most requested features. If we're being precise, literally the #1 and #4 most requested features on our Feedback board!
Creators: We've also spent a ton of time writing up technical documentation for Avatar Dynamics so you can get into creation that much faster!
This release requires that you update in order to see people on the new version! In other words, if you join on your friends and they aren't in the instance, either you or your friends need to update!
Oh one last thing: there's a special note for shader authors in the patch notes up there, go read it!
Client
Features
Implemented PhysBones! PhysBones is a component that allows secondary movement for a more realistic depiction of things like hair and tails! Check the docs for technical details and important implementation notes!
This system is available on all platforms--yes, including the Quest!! We managed to get PhysBones working on Quest with some limits. See those limits in the Avatar Performance Ranking System docs
You can set up PhysBones to be grabbed, pulled, stretched, and posed!
You can interact with other people's PhysBones, letting you push around and pose affected bones. Want to give your friend a new hairdo? Easy!
You can set up custom PhysBones colliders for various different effects!
We've defined default finger and hand colliders for all avatars, listed in our PhysBones docs, so you've always got a way to interact with PhysBones
We've integrated a UI to customize these predefined colliders on your avatar descriptor, so you can turn off ones you don't want at avatar creation time
You can use PhysBones to affect Animator Parameters on your avatar, so you can detect when someone is grabbing, pulling, or posing one of your PhysBones!
PhysBones are highly performant, offering orders-of-magnitude better performance than Dynamic Bones
Implemented Contacts! Contacts allow you to define volumes of space that will send or receive signals. These signals can then be used to drive Animator Parameters on your avatar!
This system is available on all platforms-- yes, including the Quest!!
Contact Senders send a signal. For a successful collision to occur, both the sender and receiver need at least one matching pair of strings. Collision tags are case sensitive.
Contact Receivers receive a signal. As noted above, both the sender and receiver need at least one matching pair of strings.
Implemented Avatar Dynamics Permissions! The Permissions and Settings interface allows you to select who can interact with your Avatar Dynamics systems on your avatar-- nobody, your friend, or everyone! Permission must be granted by both users for interaction to be enabled
By default, only Friends can interact with your avatar
A new icon will appear on users' nameplates to indicate the state of interaction permissions
If the hand is lit up, interactions are enabled!
If the hand is not lit up, interactions are not enabled
Implemented a runtime auto-converter for Dynamic Bones to PhysBones!
Best attempts are made to convert Dynamic Bones to PhysBones, including Bone and Collider components
The methods, variables, and mathematics are different between the two systems, so conversion may not work perfectly for all avatars. Some complicated setups may require that the avatar author re-upload a new version
This system is enabled by default. You can disable this system via the VRChat Performance Options window. When the system is disabled, you will no longer locally be running the DB->PB converter and Dynamic Bones will be running-- in other words, this choice is local
Per-User Avatar Dynamics permissions!
The Avatar Dynamics button has replaced the Emoji button in the launchpad. It pauses all AD interactions now instead of cycling through global settings
Added an interaction play / pause button in the Quick Menu settings
Added per-user controls to the Quick Menu when selecting a user to override global setting. It is a three-way toggle, similar to the Show Avatar control
Changes, Improvements, and Fixes
Favorites have been fully refactored under-the-hood to be more responsive and stable. This should hopefully solve most (if not all) of the Favorites bugs we've seen!
Improvements to simulation time, which should improve networking behavior overall and fix a handful of edge-case networking-related bugs
Input is less dependent on framerate
If an avatar has defined a VRChat built-in parameter, an error will be printed to log and the avatar's definition of that parameter will be ignored
If an avatar re-defines an already-defined parameter, an error is printed to log and only the first definition is used
Added a new button to the Quick Menu dashboard for setting Avatar Interaction, replacing the Emotes button
Added callouts in the Quick Menu to Interactions Settings
Fixed issue where some Main Menu thumbnail lists (ex. World Favorites) wouldn't show all results
Safety and Security fixes
Notes for Creators
- PhysBones acts a bit differently than Dynamic Bones. As such, we've provided some usage tips on the PhysBones documentation page, please refer to it!
In order to use Avatar Dynamics, you must update your SDK!
Avatar Dynamics systems are only available in SDK3.
SDK
The SDK now requires that the Burst and Mathematics packages are installed. If they aren't installed, the SDK will install them for you on import. This may result in errors during first installation, but they will go away after a restart or a log clear.
An example avatar is available in the SDK: `VRCSDK\Examples3\Dynamics\Robot Avatar` [/list]
Implemented some additional controls and settings on the Avatar Descriptor for Avatar Dynamics
Implemented auto-conversion for Dynamic Bones to PhysBones, offered on the Build screen if Dynamic Bones are detected on the avatar
DB to PB Conversion was added to Unity menu. `VRChat SDK/Utilities/Convert DynamicBones to PhysBones`. You must select the avatar for this to work
Implemented warnings and errors for performance regarding Avatar Dynamics systems.
If the Very Poor limits are exceeded when building a Quest Avatar, the SDK will warn you that the components will not work when in VRChat
Fixes & Improvements
Enabled Single Pass Stereo Instanced compilation for all shaders at build-time
Avatar parameters are checked for validity before creating the array of parameters
Fixed SPS-I rendering for built-in Mobile-ToonLit shader
Legacy SDK2
SDK2 is considered deprecated and legacy. It will only receive occasional maintenance updates, and will no longer be available or permitted for use in the future. Please migrate to the latest VRChat SDK as soon as you can.
Improvements
Enabled Single Pass Stereo Instanced compilation for all shaders at build-time
Documentation
Changes and Improvements
Avatar Performance Ranking System page has been updated with limits for PhysBones and Contacts on PC and Quest. It has also been updated to note the hard cap on Quest Avatar Dynamics components
All VRChat-provided prefabs are now described on the SDK Prefabs page, and the Prefabs category has been removed
Many unused, unpublished, and deprecated doc pages were removed
Archived patch notes from 2017, 2018, 2019, and 2020 have been collapsed into single pages
We've just released VRChat 2022.1.1, which includes Avatar OSC, Input OSC, comfort options, and more!
Avatar and Input OSC is part of our new API for putting data into and pulling data out of VRChat. Starting with this release, you can build your avatar and set up OSC to do things like feed your heartbeat into your avatar, implement your own eye tracking system, build support for whatever controller you want, and even more! Check out our blog post for more information.
VRChat's OSC API is a pretty developer-centric feature. Keep an eye out in our new #avatar-osc channel on our Discord to see what people are cooking up!
This update also has some other stuff, like the new Tunneling comfort feature, the new Voice avatar parameter, and a bunch of fixes. We're prepping for some other updates that are on the way, including one you might've caught a teaser for on our Twitter. (If you missed it, we're implementing 8 and 10 point tracking. spoilers!)
As usual, if you create VRChat content, please ensure you update your SDK!!
OSC API for Avatars is is available for VRChat on both PC and Quest! You'll just need to point your OSC application at your Quest's IP using the default ports.
OSC API for Input!
You can also use the same system to provide input into VRChat! Many of our controls are mapped to OSC channels
You can use this to map your own controllers, peripherals, and more!
OSC API for Input is also available for VRChat on both PC and Quest!
Added a tunneling VR movement comfort feature that optionally adds a vignette effect during movement
Has Light and Strongsettings, adjustable in the Quick Menu
Changes, Improvements, and Fixes
Added the "Voice" parameter for usage on avatars! This parameter is the avatar wearer's microphone amplitude in a float value from 0.0 to 1.0
Added a "View Profile" button to friend request notifications
Fixed an issue where the Upper Chest bone was not being networked properly, which could cause desynced poses when it was mapped (especially for full body users)
Fixed an issue where some friends would be stuck "Online" after they'd logged off
Greatly reduced spurious logging to the output log to improve performance. Re-enable these logs (and some new ones) by using the new "--enable-verbose-logging" launch option
EXPERIMENTAL: Added the "--enable-avpro-in-proton" launch option, which will allow Proton users to re-enable AVPro for video playback. This may cause crashes!
Fixed an issue where closing the Stream camera would open the Photo camera
Fixed an issue where the VRChat UI could react when the mouse cursor was not over the window
A variety of fixes to address application crashes in certain circumstances
Various internal networking adjustments and updates
Notes for Creators
Here's some useful links to participate in the OSC development community! Since this is a pretty developer-centric feature (at least, at first), we're going to handle these slightly differently.