Guides

VRChat 2025.4.1

November 3 - Build 1749 - Live

Features

Boops are BACK!

Boops are back! You might remember this feature from last year, when we tried it out in Open Beta... only to decide that it wasn't quite ready yet.

After we announced we pulled it, people immediately wanted it back! Well, it took a hot second, but here it is again!

Booping is a feature that allows you to send “Boops” to their friends! They can attach any emoji to their Boop! VRC+ subscribers can even attach custom and animated emojis.

When the recipient opens their notifications, they’ll see a Boop Explosion containing all of the Boops they’ve just received!

Boops can be sent by opening the User Details page in either the Quick Menu or Main Menu in the Client and tapping the new Boop button. They can also be sent also from within the mobile apps.

The Live Now Tab

The Launchpad tab in the Main Menu is being replaced*.. with the Live Now tab!

First: were you a fan of the "Recently Seen" tab that lived here? It still exits! We just moved it to the Social tab. Because, you know, that makes sense.

Anyway -- the Live Now tab!

The Live Now tab will show you events that are (wait for it) live! That means you'll easily see what's going on when you're in VRChat. You'll be able to easily join these events directly from there -- getting you to the good stuff a little bit faster.

It also shows Group and Friend locations -- letting you see where everyone is at a glance.

(Also: you'll see this in the Changes & Fixes section, but Groups are now able to attach Instances directly to Events -- making the process for getting into a poppin' instance a lot easier.)

As a note, we are slowly rolling this out to everyone over time. That means you might not see it immediately!

Discord Login

You can now login to VRChat using Discord!

For existing users, if you have a Discord account, you can choose to link your VRChat and Discord accounts. This will then allow you to sign into VRChat using your Discord login information.

New users will be able to make a new account using their Discord information.

World Dynamics

This is a feature dependent on the (currently in beta!) 3.9.1 SDK and is reliant on world creators updating/adding them to their project!

Whew, with that warning out of the way...

2025.4.1 adds support for the long-requested World PhysBones, Contacts, and Constraints.

This means that world creators will now be able to use systems similar to their avatar counterparts (Avatar PhysBones/Contacts/Constraints).

This should open up a bunch of new possibilities for world creators! Easier interactions! Better performing worlds! Cool things we can't possibly imagine because we aren't nearly as creative as they are!

(Read more )

A Note About Persistence

You will no longer be able to join instances opened with older versions of a world, unless that version has a fully compatible network layout.

  • What determines if a world is compatible?
    • All objects that exist in both versions (selected by Network ID) must have a matching variable and component layout. Udon changes that don't update variable types, order or count will not break compatibility. Updates to non-networked parts of a world are also fine, e.g. simply moving an object in the scene.
  • Does this mean I can't iterate on my world while people are in an instance anymore?
    • You can, but if you break network compatibility people will not be able to join existing instances anymore.
    • Be careful updating your worlds during ongoing events! If you break compatibility, you will effectively close existing instances for new joiners.
    • It is possible to re-upload a previous version to restore compatibility to existing instances, should you break your world by accident.
  • What happens when I try to join an incompatible instances?
    • You will not be allowed to join and notified via a popup. You will then be redirected home.
  • Okay, but why? And why call this a fix for Persistence?
    • Since Persistence relies on networking, incompatibilities in the layout could previously lead to loss of data. With this change, persistent data (other than the part that you intentionally made incompatible) is protected.
    • This could have also lead to non-Persistence related network issues, e.g. late joiners decoding incorrect data after compatibility was broken.

Changes & Fixes

  • In-app reporting has been revamped.
    • Added the ability to see all Stickers, Prints, and Emoji that have been used in the current instance for easier reporting.
      • You can see these under the "Report" screen, visible via a button in the Quick Menu (next to Inventory).
    • Added the ability to see the Stickers, Prints, Emoji, and Events you have reported.
      • You can see these under the "Report" screen, visible via a button in the Quick Menu (next to Inventory).
    • The entire flow has received quality-of-life improvements to make the reporting process easier.
  • Added the ability to link instances and events!
    • We've added a new permission for Group members that allows them to link instances and events.
    • Events that are live (or are within a six-hour window of beginning or ending) will appear on the Group instance creation UI for permitted users to select as being associated with that particular instance.
    • When an instance is linked to an event, it shows up in its own special event row on the Instances tab on the details page for that particular Group.
      • Rows for events that don't have any instances associated with them will still show up.
      • Instances for events will also show up in the friend/available instance rows where applicable. This is expected.
    • The event details page now has a button labeled "Join" instead of "View Instances". When clicked:
      • If there's only one instance for the event and it's joinable, you'll join it.
      • If there's only one instance for the event and it's not joinable for some reason (e.g., there's a queue), you'll be brought to the instance details page.
      • If there are zero or multiple instances, you'll be brought to the Instances tab for the Group that owns the event.
    • The default name for an event instance will be set to the event name for VRC+ users.
      • We may make this happen for non-VRC+ users as well in the future.
      • You can still change or remove the name if you have VRC+ if you wish.
  • The Quick Menu has been visually refreshed.
    • It should make more sense now. We hope?
      • Let us know what you think.
  • Fixed a PhysBone jitter issue which affected high framerate scenarios.
  • Avatar Pedestals have received some much-needed love.
    • They now initially show a "Loading" image instead of just white.
    • Loaded thumbnails no longer leak memory.
    • All avatar preview images are now downscaled, even on PC.
      • This means data loading via pedestals may no longer work. This was never officially supported, and we recommend switching to VRCImageLoading or VRCStringLoading instead.
  • Tweaked the camera's zoom slider. The default position has been moved up, and the slider's scaling has been adjusted.
  • Fixed items not consistently appearing ahead of you when using Full Body Tracking in VR.
  • Fixed a bug where sometimes users could see Sharing Pedestals from the previous instance playing despawn animations in the loading screen.
  • The Main Menu Social page now features the "Recently Seen" player list.
    • This is the same list that you'd find on the Launchpad page, but we figure the Social page would be a better home for this!
  • Fixed emergency avatar sometimes appearing unexpectedly when holding the Escape key to close the menu.
    • An intentional shortcut to load the emergency avatar has been added to Shift + ESC. You can use this if your keyboard mapping does not have a Backslash key.
  • Fixed the exclusive store time remaining icons having incorrect spacing with the text.
  • Fixed certain Quick Menu doodads overlaying other doodads.
    • No, you read that right.
  • Fixed foldouts when selecting a user in the Quick Menu.
  • Fixed a case where the Recently Updated Favorite Worlds would be missing on the Launch Pad.
  • Shapes for PhysBone collider components and Contact components should now exactly match between the client and the SDK. This mostly only affects setups that use non-uniform or negative scaling.
  • Fixed some odd behavior with the face mirror and Selfie Expression callouts when the HUD mode was set to Off.
  • When an in-world Creator Economy listing is viewed, the products within it should show their correct preview.
  • Fixed opening Inventory from the Quick Menu so it will re-open to the last Inventory section you had opened... instead of always opening to the sticker section.
  • Fixed a bug that could caused your UI theme to look wonky or totally fail to load.
  • Fixed a bug that could cause Portals and other effects to be delayed until all other downloads finished.
  • Items will now correctly display their information (description, creator name, etc.) when viewed in the Shop.
    • Customizing Kath's palette from the Shop tab now works as intended.
    • The customize button is now hidden if you don't own Kath yet.
  • Streamer mode now hides sender usernames in notification texts.
  • Notifications about a gift you have received now have a button to view what you got.
  • The --ignore-trackers launch flag can now handle spaces as documented here - you need to replace any spaces in serial numbers with %20.
  • Fixed "Custom" control selection UI not working on Quest.
  • Fixed "Unusual Client Behavior" kicks when sharing old UI themes with overly long names.
  • Your local chatbox and nameplate no longer render in the face mirror.
  • Added a new shader global named _VRChatFaceMirrorMode which reads 1 when rendering inside the face mirror camera (and 0 otherwise).
  • Fixed render queue (ZWrite) on personal mirror when opening for the first time during a session.
  • The error robot avatar can now use stations.
  • Minor text fixes.

Android Mobile

  • The Group Calendar feature is now available for Android.
  • Fixed a bug that was causing all world audio to play when changing screen orientation or app focus.
  • Instance naming is now supported on Android.
    • If an instance has a custom name, it will now be shown in various places in-app (falling back to the world name or instance number if not present).
  • Group Calendar fixes:
    • Corrected the order of months when two are shown in the Week UI
    • Fixed an issue where events at the beginning of the week could potentially be hidden from the UI