Developer Update - March 27 2025

Welcome to the Developer Update for March 27.

Today’s featured world is The Pool Parlor | 8 Ball Pool by Ahoya.

Announcements

Space Jam is Ongoing!

Space Jam 2 is still live! This World Jam, hosted by the National Space Society of Australia, is an opportunity for world creators to make a VRChat world fitting the chosen theme.

All entries will be featured in a world row, and there are monetary prizes for the winners! Check out our blog post to learn more.

You have until April 5 to submit your worlds. Get to it!

Submit Your Worlds to Venice Immersive!

The Venice Film Festival is looking for VRChat worlds for their XR section, called “Venice Immersive”!

There are two categories you can submit to. Please read our FAQ here for more information.

2025.1.3 is LIVE!

Our latest release, 2025.1.3, is now LIVE on all platforms!

You can read the full release notes here.

This is a BIG one!

Here are the quick highlights:

New Features!

  • Camera Drone: This is a fully-functional drone that you can fly within VRChat! You can use it as an additional recording tool, or you can simply fly around with all of your friends! Read more about the Camera Drone our the Community Wiki.
    • This is a VRC+ feature!
    • Check out the short video for the Camera Drone in the Quick Menu (or simply jump to the Help & Info tab!)
  • Camera Dolly: This feature allows you to set a pre-defined path for the camera. Think of it like an in-client animation system for the camera, giving VRChat videographers a ton of extra power to do… well, whatever you can dream up!
    • This is a VRC+ feature!
    • Check out the short video for the Camera Dolly in the Quick Menu (or simply jump to the Help & Info tab!)
  • Selfie Expression: Seflie Expression enables you to use your webcam to add tracking to your desktop avatar! Yes, that’s right – this feature allows desktop users to track their facial expressions, head and eye movement, and even their hands.
    • This feature is in Early Access for VRC+ subscribers.
    • Check out the short video for Selfie Expression in the Quick Menu (or simply jump to the Help & Info tab!)

Quality of Life Improvements!

  • Redesigned Safety Menu: The Safety Menu (sometimes called the Shield Menu) has been redesigned! It should be easier to use for users. It’s also easier for us to add stuff too, which is good for the future!
  • Instance Settings: Instance creators can now choose to enable or disable a bunch of features, like Emoji, Stickers, Sharing Pedestals, Prints, and Drones.
    • These can be adjusted on-the-fly after an instance has been created!
    • If there are Prints and Stickers in the world, they’ll be removed if disabled. Easy cleanup!
    • World authors can set defaults for public worlds via the website.
    • We know folks have some opinions on this. Keep reading, as we’ll address them a little further down.
  • Reduced Voice Latency: We’ve reduced player voice latency by 250ms for all users.
    • Practically, because of the way conversations work, this is like removing half a second of latency during back-and-forth discussion. Woah!
  • Camera Improvements: We refactored the lens indicator, adding additional functionality.
    • Improved sync for late joiners!
    • Fixed jittering!
    • New visual effects!
      • The indicator now flashes white in addition to the shutter sound when a picture has been taken.
      • When using the “Timed Photo” setting, other users will now see a ring around the indicator counting down visually in addition to the countdown noise!
  • Audio from Camera is now for EVERYONE!
    • This was locked behind Camera Dolly, meaning it was effectively a “VRC+” feature. Now, everyone can use it.
      • This option works for the Stream camera, Drone, Dolly, and even Spout streaming!
  • Thai Added as a Supported Language
  • …and MORE!

Seriously – this was a big patch, adding more cool stuff for VRC+ subscribers as well as a ton of QoL updates for everyone.

This is an immense patch! And we’re just getting started. This is going to be an exciting year for VRChat!

Development Updates

New Badges for VRC+ Subscribers!

VRC+ Subscribers now get a special badge depending on how long they’ve been subscribed to VRC+. Subscribe for longer, get a fancier badge. Neat! Our Neat and Cool Wiki team has documented all of them and what they look like here.

These tenure badges are just a little way of saying thanks for supporting VRChat for as long as you have.

Website Bug Fixes

2FA Fixes

On some mobile browsers, the 2FA input form wouldn’t accept copy/pasting properly. We fixed it! You can now simply copy the whole code into the form.

Profile Icon Upload Got… Thicc

So, for a hot second uploaded icons looked like this:

We fixed it. We made them, uh, properly round.

Other Fixes!

  • Fixed an issue with favoring worlds/groups, as we expanded how many groups can be favorited at once, and it was causing some issues on the website.
  • Fixed Stickers & Emoji showing as the wrong aspect ratio in the web gallery.

Instance Settings Feedback

With the addition of Instance Settings, we’ve been paying close attention to feedback during the Open Beta and launch!

The majority of feedback seems to be neutral or positive regarding these new changes. People that run instances (Group Publics, events, etc.) really appreciate the fine-grained control!

There has been some constructive feedback in two key areas:

  • The additional steps in instance creation (two extra clicks) isn’t great!
  • Some world creators prefer to have full control over what’s possible in their worlds, no matter what.

This is great feedback – we’ve been tracking it! We also think it touches on some things that we’ve been talking about internally.

In particular, the second feedback item from world creators points out a challenging but important pillar of VRChat’s architecture: who has authority over an instance, and when?

This is an open question that we’re still answering, and for now, we don’t have a solidified, system-wide answer. We’re discussing, debating, and designing internally, and your feedback is an important part of that! So, keep it coming.

Conclusion

That’s it for this week! See you in two weeks on April 10!

7 Likes

I feel like if world creators are allowed to forcibly lock/limit avatar height to constrain their designs within a specific view, then they should be able to force drones/stickers/etc off.

It should be one or the other, not a mix of both. Either world creators can set caps on player height and also not let people fly drones in their worlds, or they can’t set player limiting experiences at all (INCLUDING height) and it falls to the instance creator. I just want the consistency. Instead of picking/mixing features which player experience options world creators can mess with or not.

15 Likes

I really do hope that world creators can get a final say in the settings allowed in a world. I honestly don’t care too much about stickers/prints/whatever but being able to allow/disallow drones is a very important thing as it can very quickly lead to cheating, breaking immersion/intended experience.

I don’t really make curated experiences much but when I do it’s genuinely disheartening to see that it can be completely broken by someone with a drone. I really don’t want to have to account for drones existing when I should just be able to turn them off completely.

6 Likes

Thank you for your continuous efforts and the recent update.

The introduction of features such as Drone and SelfieExpression is very attractive and commendable.

While there might be varying opinions regarding the instance settings themselves, I will refrain from commenting on that particular feature at this moment. However, I would like to bring attention to an area that could benefit from improvement within the new instance creation workflow.

With the latest update, an additional popup window now appears when creating a new instance. This window pertains to instance settings, but frankly, it seems that only a very small percentage of users actually adjust these settings.

Consequently, having all users encounter a window filled with rarely modified settings every time they create a new instance appears inefficient from a usability standpoint. It might be more user-friendly and practical to consolidate these settings into a single window.

I have detailed a specific improvement proposal on Canny, and I would greatly appreciate it if you could review it at your convenience. Thank you very much for your consideration.

2 Likes

I would still argue that the world creator should have final say over what isn’t allowed in a world, like a blanket “no stickers” or “no drones” that applies to everyone. Especially considering things like collision issues with the drone in worlds with driving systems etc. (Yes that could be fixed in the future, but instance settings could also be changed in the future.)

Have it be an opt-in thing for world creators, an option for default settings and a separate force-disabled toggle (e.g. “I’m cool with people re-enabling prints but I don’t want stickers or drones in my world ever”). This change would only affect a small percentage of worlds but would give creators the control they want over it.

I’ve made a Canny page for this: Opt-in "force disable" instance settings per-item | Voters | VRChat

I appreciate that you guys have been taking our feedback into consideration and trust that a solution will be found that works for everyone!

6 Likes

I’m excited to work with some of the new drone updates, but the update really messed with physbones and now bows that moved fluidly , even with a single root bone component now move really choppy. It’s completely rendered all flow toys for dancing useless. Will this be fixed?

1 Like

My personal feedback regarding instance content settings is as follows: I think they are satisfactory as they are now. World creators have absolute authority over what happens in their worlds in public instances, but I don’t like the overreach when it comes to controlling what can or cannot be done in private instances. While I understand the desire to respect artist intent, I believe that shouldn’t come at the expense of user autonomy, and yes, I know the common retort of ‘just go to another world,’ but still my point stands. In the end, to settle things how about giving world creators absolute authority (over instance creator) whenever they exist in someone else’s private (or group) instance at the same time?

Regarding instance settings, just as there is a setting in Unity to forbid portals and one on the website to limit avatar scaling, I feel it is time to incorporate those options directly into the client as well.

In the end, I believe it would be detrimental for the end user to be at the mercy of whatever restrictions the world author decides to impose outside of public instances.

7 Likes

Wait wait wait, so it’s 500ms RTT reduction? No way! Holy crap. Nice work guys.

I am shocked that instance creators have the ability to override these settings if the world creator explicitly disabled them.

I’m not sure why, but given VRChat’s history of permissions, safety, and features, I figured that would not be the case.

I do think world creators should have final say, especially if there is artistic intent they are trying to maintain. Of course, if enough world creators disable them, it reduces the value of stickers for VRC+. But I think if they are enabled by default, allowing the world creator to globally disable them is best.

2 Likes

Instance owners should have final say, absolutely and completely if its not a public session, it makes no sense what so ever that the instance owner wouldn’t have control when specifically making an instance with controlled access.

Instance owners should have control, at the bare minimum they should have control for any non-public instances.

Its really frustrating to have a platform that is based on having a lot of freedom, creativity, unique interactions and a whole literal virtual ‘reality’ and ‘world’ then have arbitrary restrictions put in place that go firmly against all of those goals and otherwise inherent abilities.

If an instance owner wants to say “no stickers!” fine, cool, but having a world owner just decide they want to lock stuff down its silly, its already problematic to have a private group of 30+ people in a world only to learn that oops… the world owner has locked out the ability to place a portal down, time to have a bunch of fun getting that big group moved to a new place like a specific game world, etc.

Just let people have fun and enjoy things, let them interact and enjoy how they want to, let instance owners moderate their non-public sessions as they desire to allow or disallow the sort of interactions and such tailored to the group they’re working with, not the whim of the world creator.

8 Likes

I’m of the opinion that if someone needs control over what can and cant be done in their world in all instances, they should upload the world privately and have their own instances with their rules. I dont see why a public world should have rules for everyone else’s instance for things like emojis, drones, prints, and stickers.

2 Likes

You can actually turn them off in the world settings.

I think a single “Edit features” button on the instance creation would be the best bet, Have that button open the current toggle menu for all of the features like drone, stickers, etc.

This would streamline the process for those who don’t care / don’t want to toggle the features, while still allowing the ability to modify them if needed.

3 Likes

i believe that authority should rest with whoever is moderating the instance, and that that authority should extend to more settings that are currently able to be toggled only by the world author, such as portal placement and avatar scaling

6 Likes

This only applies to public, non group instances of your worlds.

But restricting/limiting the height an avatar can be done by a world creator regardless of instance type.

2 Likes

For me, the problem lies in that groups public is also considered a “private” instance.

Groups Public and Friend (instances where you have friends in them) instances are preferred and put above regular Public instances in the instance list.

I personally don’t mind people turning on those features in invite/friends(+) and regular groups(+) instances but groups public is where I draw the line.

Groups Public is a private instance type, and is put over regular Public instances.

4 Likes

I wouldn’t mind seeing more in regards to portals, like I get that they can be harassment in large instances, but maybe portals visible to only my friends could be allowed? Or maybe world authors could be allowed to flag a portal zone in a world?

2 Likes

I think it’s a wonderful idea!
The main point of the request on Canny is to ensure that only a single popup window appears during the normal workflow. Therefore, there isn’t a specific preference regarding how it should be implemented.
The image attached to the Canny post is merely one possible example.
If possible, I would greatly appreciate it if you could also leave a comment on Canny.

1 Like

Agreed that I’d love to see more in regards to portals:

  • Ability to mark “portal drop zones” in Unity SDK where portals are/aren’t allowed (e.g. club world where portals are allowed at spawn but not on the dance floor)
  • Ability for moderators to select and manually close portals
  • Portals added to instance settings
  • Friends-only portals invisible to non-friends
3 Likes

Yes to portal placement, because I want the ability to disable those at all (sick of people dropping portals in the middle of the dance floor at a DJ event, please do not do this).

No to avatar scaling. Some worlds use avatar scaling in ways that’d break/hinder the experience if overridden. Kaleidosky has a kotatsu that shrinks you down when you hop onto it, and it becomes a dance floor. Laserdome uses avatar scaling to ensure everyone is equal height, making for a more fair and even play field. This would also break a lot of Udon scripts that use avatar scaling.

I think there’s three things to keep in mind for the opinion of the world owner having say:

  1. VRChat has a component you can add to surfaces to explicitly include stickers on a surface. This means world creators already can limit where stickers are placed.
  2. Because of this feature intent, at least from my perspective, allowing world creators to disable stickers or other features makes sense. It can allow them to disable it without having to manually update the world via unity.
  3. The communication through the website is that the world owner can disable these features, but they likely won’t know it’s only going to work for public instances.

Really, I guess I’m not understanding why disabling those features was even a thing in the first place if it only works for one instance type, which is far less common than even GroupPublics now for some worlds.

I think if it’s opt-out, it allows the world creator to maintain artistic intent/user experience, but because it’s enabled by default, the feature should work for the vast majority of worlds.

It’s really just that the communication is unclear with the current system. It feels like the world creator being able to disable features was added, then later it was decided that could be overwritten.

I would go back to the drawing board and reconsider the flow of this. It should either be all or nothing. Either allow the world creators to set it as a global override for all instances, or don’t allow the world creator to have creative control over stickers, etc.