Guides

VRChat 2024.3.1 (BETA)

Open Beta - 24 July 2024 - Build 1480

New Features

SteamVR Input 2.0 and PCVR Hand Tracking Support!

  • SteamVR Skeletal System - We now have PCVR support for SteamVR skeletal hand tracking and finger-based input similar to our native Quest release!
    • Finger tracking for Index controllers has also been improved, as it directly uses the skeletal data from SteamVR.
  • A new button has been added to the Main Menu Controls page to open the SteamVR bindings UI for VRChat.
  • Full controller remapping via the SteamVR bindings UI - Remap any action to any button you want on any controller. The customization possibilities are nearly endless!
  • New gesture methods - Including new mappable "Gesture Direct" buttons that let you explicitly map gestures to any button. This is helpful for triggering avatar effects via explicit button presses!
  • Bonus Mappable Actions - Earmuffs, Nameplates, Chatbox, and more can be one button press away with an array of new mappable shortcuts.
  • Auto-Hold - Tired of holding the grip button for equipable items like pens and grappling hooks? The option to auto-hold them is now active if the new "Drop" action is mapped. Now you can press once to pick those equips up and press again to drop them!

VRChat Constraints

  • VRChat Constraints are a replacement for Unity's constraints system that is more performant!
    • Constraints allow folks to do really cool things with avatars -- but until now, they've been risky when it comes to performance cost. This was due to how Unity's default constraints were calculated.
    • Our version is vastly more performant. That means creators can use more without impacting other folks around them.
      • This performance increase means that VRChat Constraints can be used on non-PC avatars!
    • It also means we can calculate their performance cost more accurately, so we'll be adding them in as a tracked performance stat.
      • Seconary note: in addition, we now track a new stat called Constraint Depth. This tracks the deepest chain of constraints on your avatar. This helps us give a more accurate understanding of the performance cost of any constraint systems on your avatar.
    • You can automatically convert your avatar from using Unity constraints to VRChat Constraints using the SDK! We've been testing it behind-the-scenes for some time, and it works great!

For more information on VRChat Constraints, you should check out the Creator Docs, which you can find here!

Updates & Fixes

  • Numerous stability improvements!
    • Memory usage has been improved in various scenarios.
    • We got out our plumber's wrench and closed off some memory leaks.
    • Reduced a handful of loading hitches and stutters across the client.
    • Fixed several rare crashes.
  • Startup speed has been greatly approved across all platforms!
    • This includes the entire startup flow -- from opening up VRChat, to the login process and loading into your homeworld. The entire process has been reworked, with the end result being a sizeable decrease in load times.
    • This rework also fixed a bunch of minor bugs, crashes, and other issues.
  • Various improvements to text displayed across the client in various languages.
    • Friend request text should no longer overflow in other languages.
    • Text in QM/MM wings should no longer overflow.
    • Fixed overflows across playlists.
    • The one-handed movement tooltip is now localized.
    • Performance text on avatars is now translated!
    • Fixed big characters not showing in the search bar, like Japanese ones.
    • Added localization for transaction types in the Marketplace transactions menu.
  • Tweaked UI to fix a handful of minor bugs. There's a lot of them! You can find them all below:
    • Adjusted the size of the hover highlight effect on Main Menu world cells in order to make them fit properly.
    • The Main Menu "offline" social count was not updating. We fixed it!
    • Favorite friend group numbers were also not updating -- that's fixed, too.
    • Fixed some weird issues with separators in Settings.
    • Not quite a bug, but we've moved color blind filters to their own section so they're easier to find.
    • Fixed small capitalization typo within the Main Menu safety page.
    • Fixed the avatar pedestral appearing over some dialogs or menus.
    • Fixed the vertical alignment of several buttons that were, like, a pixel off. You weren't crazy. We promise we didn't do it on purpose... heh heh heh heh.
    • ...we also fixed the alignment of some text in the Social menu that was broken. Oops!
    • Now the word "user" is used instead of "player" unless it is referring as the representation of a user within an instance.
    • Fixed an issue that caused QM user action buttons to flicker when their avatar was shown/hidden.
    • Fixed a bug that caused the QM to close after editing an invite message.
    • Fixed some minor rendering artifacts on Main Menu wings and certain header icons.
    • Tweaked how text is displayed in the Quick Menu while in the new reporting flow.
    • Fixed Favorite/Unfavorite button state in Avatar Details.
    • The invite/response window now has more accurate "Add Message" button tooltips.
  • A few changes that are relevant to creators! These touch SDK functions, but will work right away in this client version:
    • Fixed VRCPlayerApi.SetVoiceLowpass function not working.
    • OnInputMethodChanged is now called whenever the player joins a world.
    • Introduced a limit on recursion depth between Udon Behaviours of 1000 steps.
  • Dynamic Bones on avatars will now always be converted to PhysBones.
    • As a heads up: if you use Dynamic Bones on your avatar, you will have to convert them to PhysBones before uploading for now on.
    • You can read more about this change in the Developer Update from July 11.
  • VRChat will now automatically add or remove parameters in OSC config files when an avatar is updated.
    • Any manual edits to addresses in the JSON will be kept, as long as the parameter name didn't change.
  • We've added tooltips for all of the stat fields on the Avatar Details page. This should hopefully give you a little insight into what each stat means and how they can affect overall performance.
  • Fixed an issue that caused OSCQuery parameters to fail to broadcast with their proper default values.
  • Fixed an issue that prevented badges to not appear in the Main Menu's profile menu when logging in with Steam.
  • The platform compatibility icons on the Clone Avatar button disappeared! After a long search, we've found them and put 'em back.
  • Fixed a bug that could cause your view height to be set incorrectly after leaving a station.
  • Hid some accessibility UI options that were not available on desktop mode.
  • The blue camera lens indicator light should now be properly hidden whenever the rest of the lens is.
  • Fixed a bug that would make world tags unclickable.
  • Local builds of new avatars will now appear in the Avatars menu without requiring a restart.
  • Udon Input is no longer blocked in the Quick Menu, only the Main Menu.
  • Fixed a case that could cause avatars to be left squinting if you move far enough away from them mid-blink.
  • Hebrew is now available as a preferred language!
    • Because Hebrew is a Right to Left (RTL) language and our UI was originally designed for LTR languages, please excuse some of the design compromises we had to make in order to get the language to play nice with our layout (like left-justification for text).
  • You can now toggle Logging in the Main Menu (as opposed to just the Quick Menu).
  • Fixed a bug that caused names of players involved in vote kicks to be masked from logs.
  • Fixed a small issue on the avatar unavailable image where masking wasn't being applied correctly.
  • The current world name in Main Menu Worlds is now hidden in Streamer mode.
  • Restyled the "distance diamonds" that appear when hiding avatars by distance or by count.
    • They're opaque now, which should help to improve performance in busy instances.
  • Updated the list of report reasons that are available when reporting users, avatars, worlds, and groups.
  • Fixed an issue where the email verification prompt on login would lead to a black screen.
    • Additionally, the in-client instructions for email verification were made more legible.
  • Fixed an issue that caused images viewed in the Group Announcements page to be displayed in a low resolution.

Known Issues

  • Using FBT with the new finger tracking may cause pinch locomotion to apply with incorrection orientation, and momentary freezes in FBT tracking. A fix is already in the works!
  • One-handed movement UI may not appear when using the action menu on some platforms.
  • Mute/Unmute sound effect is missing.
  • Action menu scale can depend on your avatar size.

Build 1481 - July 24

  • Fixed finger tracking pinch locomotion applying movement in the wrong direction while using full body tracking.
  • Fixed an issue where FBT would stop tracking momentarily when a controller or finger tracking lost tracking
  • Fixed a loading hitch regression when loading avatars that are uploaded with VRC Constraints
  • Microphone mute/unmute sound effects are back

Build 1482 - July 26

  • Fixed a bug that caused some remote users' fingers to be stuck in place (sometimes oddly curled) if gestures were enabled.
    • I have evidence that QA called this the "owie fingies" bug internally.
  • Fixed a bug that caused some avatars to get stuck in a T-Pose.
  • Fixed desktop users always sprinting, regardless of whether the Shift key was held. Gotta go fast.
  • Fixed an issue that caused platform indicators on world cells in the user details menu to be squished.
  • Oculus Touch controllers' trigger click sensitivity is now more consistent with live.
  • The Action Menu, camera and personal mirror no longer scale with avatar size in Desktop mode. 🔍
  • Controller models should now properly show in the calibration mirror and no longer in the stream/photo camera.

Build 1482 - July 26 (Steam Only)

  • Fixed audio and voice volume being too loud or clipping

Build 1484 - July 31

Portal Overhaul!

You might have caught a glimpse of this in our most recent Dev Update, but we've been hard at work redesigning Portals!

This update includes the new graphic style, with a more minimalist approach putting the spotlight on your world thumbnail, a sleek new parallax shader, and fancy drop and close animations!

Fixes & Changes

  • Added a new global toggle Avatars Use Finger Tracking to the Main Menu Controls page for SteamVR.
    • When toggled off, avatar hands revert to the animated hand state even if skeletal tracking is available. Gesture parameter detection including detection depending on finger tracking will still function, and as usual the Gestures toggle will affect how hands are animated, but this new toggle prevents any skeletal tracking from being applied to the avatar's hands.
  • Added a new per-avatar toggle called Legacy Fingers to the "Expressions -> Quick Actions" page in the Action Menu (next to avatar scale).
    • When toggled on, estimated and partial skeletal finger tracking (for example, Quest or Index controller based tracking) is processed through the method that we used for Index controllers in the past. As a note, full finger tracking (the type with the new pinch interactions) is not compatible with the old method and will remain fully tracked regardless of what this setting is toggled to.
  • Changed the default binding for menu grabbing to require a full squeeze on Index Controllers.
    • Note that you don't need to hold the squeeze, and you can still un-grab by taking your fingers off the grip sensor.
  • Opening the SteamVR dashboard no longer stops controller tracking.
    • Note that opening the SteamVR keyboard will still do so, and this is intended by Valve.
    • Finger tracking will still be disabled in this state, but your hand position will be available.
  • Fixed issues with opening Action Menu on both hands using custom bindings.
    • action_menu binding has been moved to the global action set, you'll need to rebind it if you had it set before.
  • Fixed a bug that caused the QM to open when toggling the action menu off, if the action_menu toggle had been re-bound to a menu button in the Steam Input settings.
  • Fixed scrolling issues when switching between featured world categories and favorites lists in the Main Menu's Worlds page.
  • Fixed an issue that prevented the visibility of favorite worlds lists from being changed.
  • Fixed visual issues with some Main Menu sidebar buttons.
  • Found missing loading screens (Connecting…, Joining…) for SteamVR between the couch cushions and put them back.
  • Fixed a bug where Behavior Reports would submit early without offering to enter a text description.
  • Going to an external report form from the app now auto-fills the report form.
  • Corrected reversed distance adjustment of the Personal Mirror when using the scroll wheel in Immersive Mode.
  • Added a tooltip to the Constraint Depth performance stat.
  • Fixed VRChat rotation constraints locked in one axis only sometimes appearing at the wrong rotation when the avatar loads. Woo, gimbal lock.
  • Includes the fix for audio being too loud, this time on both platforms.
  • More improvements to world load time.
  • A few more spurious crash fixes.

Known Issue

  • Rarely, while switching instances, you may get stuck at a black screen. We are investigating this problem, if you encounter it please let us know on this Canny and share your logs!

Build 1485 - August 1

Fixes & Changes

  • Addressed some slight discrepancies between Legacy Fingers and how Index controllers are processed on live.
  • Fixed an issue that prevented the Legacy Fingers setting from saving properly per avatar.
  • Fixed input hints on Desktop when placing a portal showing a big white square.
  • Reworked how the constraints system registers and sorts constraints to reduce stuttering reported with some avatars.
    • This should also improve stability for constraints that reference one another in a loop.
  • Fixed rotation constraints misbehaving when used on children of a transform affected by a scale constraint.
  • Fixed rotation constraints giving incorrect results in certain situations where three or more sources are used.

Changes in SDK 3.6.2-constraints.4

  • Fixed cases where the constraints system could start triggering errors when deleting constraints or moving them around.
  • Fix parent constraints potentially shifting when Activate is pressed.
  • Made some corrections to how constraint depth is calculated when dealing with disabled VRChat constraints.

Our testing shows that we are getting very close to full compatibility with Unity Constraints, which is the main goal of this release cycle. If you find any more avatars that behave differently than before, or are broken outright - drop us their ID on the Open Beta Feedback Board! Please be sure to mention "constraints" somewhere in the title of your report.

Known Issue

  • Rarely, while switching instances, you may get stuck at a black screen. We are investigating this problem, if you encounter it please let us know on this Canny and share your logs!

Build 1486 - August 2

Fixes & Changes

  • Fixed constraints log spamming (and potentially breaking) in some scenarios.
  • Fixed more issues with super low weight (< 1e-7) constraints.
  • Added back the red ring around incompatible avatar pedestals.
  • Fixed an issue that allowed you to move while an error popup was open.
  • Restored AFK detection in SteamVR.

Build 1487 - August 8

Quick Notes

Note About AppLab Deprecation

Meta is merging AppLab into the main store, so to avoid confusion, we are going to stop using AppLab to distribute beta builds for Meta Quest devices.

To continue testing open beta versions on Quest devices, you can follow the updated guide in ⁠open-beta-info to select the "Open Beta" update channel on the main app.

We will remove the AppLab version of VRChat in favor of this process soon. For now, this update is available on both AppLab and the new "Open Beta" channel on the main app.

Input 2.0 Documentation

We now have an official docs page dedicated to the Input 2.0 update, which explains some of the new behaviour in depth and with detailed screenshots.

Check it out: https://docs.vrchat.com/docs/steamvr-input-20

New Features

  • Double-clicking the configured menu button will now open the Main Menu.
    • This one is a bit experimental - unfortunately it is currently not possible to separate the Quick Menu, Action Menu and Main Menu bindings more distinctly. We're open to any type of feedback on this change.
      • Makes it much quicker to open the big menu though!

Fixes & Changes

  • Fixed issues where you could get stuck on a black loading screen for extended periods.
  • Fixed some race conditions around avatars loading while leaving an instance leading to potential soft-locks or long load times.
  • Restored some network rate-limit logic, most notably improving ownership sync for very large object counts at once.
  • Fixed some rare cases of "Unexpected Client Behaviour" kicking you from an instance due to Udon logic.
  • Fixed an issue that made SteamVR controller haptics too intense.
  • Fixed Input.GetAxisRaw producing incorrectly smoothed results in Desktop mode.
  • Fixed some Udon legacy input methods not working on non-PC platforms.
  • Fixed an issue that caused the "Feedback & Feature Requests" banner in the Quick Menu to not be clickable.
  • Rolled back a change to OSC that caused all parameters to broadcast their values on avatar load.
    • The part where it fixes the initial state of parameters exposed via OSCQuery was kept, though.
  • Fixed missing default bindings and handling of right hand grip vs trigger, which was causing issues making a fist when using the "Legacy Fingers" option.
  • For gesture parameter detection, the Global gesture_trigger_axis will now also serve as "trigger touch" when the trigger is pulled (in addition to gesture_activator_index).
    • In other words, pulling the trigger will always treat the index finger as touching. So even on controllers with broken touch sensors, you can make gestures that require an index index finger touch by pulling the trigger.
  • SteamVR controllers will no longer appear in the user camera (unless reflected by a mirror).
    • The HardwareObjects layer is now always excluded from pictures.