Developer Update - April 24 2025

Welcome to the Developer Update for April 24!

Today’s featured world is Stellarya by Bia_Kawaii_Br, available cross-platform. This was the Space Jam 2 world grand prize winner!

Announcements

Whatcha doing for Pride?

We have a number of things lined up for Pride Month this year!

Keep an eye out for news on our socials tomorrow for a guideline document for community submissions… We can’t wait to celebrate with you!

Announcement of a Network-Incompatible Release

The release currently in beta, 2025.2.1, will be network-incompatible once it ships to live. This means users on the current live version, 2025.1.3p4, will not be able to share instances with anyone who already upgraded.

Our current plan is to ship the update next Tuesday, the 29th of April. But since client releases are complex in nature, it may be delayed up to Thursday, May 1st. We will try to aim for a time with less active users.

This will be the first network-incompatible release in a fairly long time, and it’s the first where we support platforms with a rollout delay, such as the Google Play store. We will try our best to ship the update at the same time for everyone, but please bear with us and expect some minor delays as it rolls out. Relevant beta and test branches should also update around the same time to stay compatible.

Behind the scenes of network compatibility

If you have ever wondered what “network incompatible” really means, here’s a little background info from the Release Team!

Contrary to what you might think, it actually has very little to do with our servers. It’s more about the data formats that the client (the app running on your machine) expects. Even our own terminology can be confusing here, as “network incompatible” builds are marked with a new “server version”. Currently, this number is 1343, which indicates that the last time we had a network-incompatible release was client build 1343¹ - that was 2023.3.2, for those keeping track!

Strictly from a technical perspective, this number is the only thing preventing people on different versions to join the same instance. Without it, things might break horribly though! For example, one of the upcoming network-incompatible changes is related to the voice data format, so two people on different versions wouldn’t be able to hear each other. To avoid confusion from things like that, we increment the number to prevent this scenario in the first place.

Network-incompatible changes have historically had much less beta participation. This is understandable, as you cannot use them to join your friends on live. As such, we made the decision to try very hard to keep all our work network-compatible. Even larger network-format changes, like persistence, had extra effort put in to avoid becoming entirely incompatible. Sometimes you may even see slightly incompatible changes on betas, like the few times where camera indicators were not syncing properly. The impact of making a build network-incompatible is much larger than minor breakages like that, so we leave the server version alone.

Keeping things compatible ensures that the open-beta channel can be open all year round, ready for you to preview fresh updates and help us test! It’s also why all the truly incompatible changes in 2025.2.1 will not be in the beta, but instead only coming in via the final live-targeting builds. This carries more risk of course, so we will be on standby to ship any required followup patches right after. If something does break, let us apologize in advance - software is hard, but hopefully we could clear up the reasoning for shipping directly to production at least!

¹ Technically 1344 according to our records, perhaps 1343 failed QA? :person_shrugging:

Development Updates

Updates for Creators

There are some great things in the pipeline (or already in beta!) for all the world and avatar creators out there!

More VRChat-specific Udon APIs

First, for the Udon enjoyers: Currently already in beta as SDK version 3.8.1-beta.1, we have added several new APIs and classes that Udon scripts can use! These include:

  • The VRCCameraSettings class for accessing the screen and photo camera objects via safe wrappers.
  • Similarly, the VRCQualitySettings class to access quality and graphics settings, and a setter for shadow distance (giant world creators rejoice!).
  • Some very low-level network statistics, accessible via the VRC.SDK3.Network.Stats class. For advanced creators!

All documentation links lead to our dedicated open-beta SDK documentation. You can see the full changelog for version 3.8.1-beta.1 on there too: Release 3.8.1 Beta 1 | VRChat Creation!

Per-platform Avatar Objects

Do you have your PC and Android/iOS avatars configured as different GameObjects? In 3.8.1-beta.1 you can now use Multi-Platform Build and Publish to upload all variants in one go, even with a setup like that!

Once again, this is documented on our open-beta SDK docs - here’s what the configuration dialog looks like:

Upcoming: Udon network events with parameters!

A conceptually simple change, SendCustomNetworkEvent with parameters - but also one of the most requested Udon features of all time.

The implementation will allow you to send any data type that is supported by regular Udon sync, with up to 8 parameters per event. Both UdonSharp and Graph will be supported, and of course it is set up to be future-proof to work with Soba. The change will come with extensively updated documentation, including hard network specs and limits, and a configurable rate-limiting feature for hardened security.

Check out this example graph from our docs:

This will also bring a new property containing the sender of a network event without having to pass it as a parameter - meaning it will work for existing network events too!

The feature is currently in closed-beta testing (big shoutout to everyone helping with that! folded hands), but will hopefully be available for public testing soon.

Upcoming: A new mobile-compatible Toon Shader!

The shader selection for mobile avatars is very limited - by design. While our Standard Lite shader is very powerful for PBR workflows, there isn’t a good alternative for Toon shaded models (aside from the simplistic and dated Toon Lit shader).

Coming to an SDK near you very soon, we will have a new shader named Toon Standard:sparkles: It will bring many common shader features like Detail Maps, Emission, Occlusion, Rim Light, animatable Hue-Shift, and custom Shadow Ramps (with an optimized but powerful shading model) to mobile avatars.

Performance is a major concern of course, so it will still not support transparency for the time being. For the same reason, the feature set is limited, and the shading model not as complex as many community-made shaders - Toon Standard is not intended to compete with PC content, but provide a powerful baseline that can run well on all hardware configurations that VRChat supports. That said, it can be used on PC as well!

Build & Test for iOS

Support for building and testing avatars and worlds on iOS comes with the 2025.2.1 client release and SDK version 3.8.1.

Enjoy much quicker iteration on new content you’re working on for iOS!

Read the beta docs on this here.

Spawn Radius for Worlds

We’re adding a Spawn Radius value to the scene descriptor!

With this, players can spawn and respawn at a random spot within the spawn radius. For existing worlds, the spawn radius defaults to zero to maintain the current behavior.

(More) VCC Updates!

The next big VCC release (2.5.0) has just passed QA and will be rolling out soon!

We have major speed improvements to installing packages, especially for users with lots of listings added.

There are two parts to this:

First of all - the VCC will no longer re-fetch the listings many times per package installation, which provides both the installation speed improvement, and reduces traffic on the public listings.

Beyond that - any listings that are not currently enabled in the “Selected Repos” dropdown (or in settings) will no longer contribute to package installation times.

Here’s a little comparison video!

Left: Current VCC version

Middle: 2.5.0 VCC with all repositories enabled (20 added repositories)

Right: 2.5.0 VCC with only a couple repositories enabled

We’re still working on more improvements to the package management experience as a part of 2.5.0 release, but this should be exciting for creators with a lot of packages!

Web Updates

Another few updates from the web team for this week:

  • Fixed an issue where if an error was encountered while reverting your display name, no error message was displayed.
  • Fixed an oversight causing display names with special characters which are reported to be available when registering on the web to return an error when actually going through with the registration. These names will now be validated correctly.

Conclusion

That’s it for this Dev Update! We’ll see you in two weeks, on May 8!

21 Likes

I’m so exited over all the creator changes!

7 Likes

oooh, I can’t wait to try this out with my existing avatars

4 Likes

now when does Build & Test get VRC+ features for developers to develop with eg. Creator doesnt have VRC+ and cannot or doesnt want to buy VRC+ and want to make a feature for something such as the VRC+ Drone for users who do have VRC+?

1 Like

Reading this update made me genuinely happy!
Great work everyone, and thank you for listening to our feedback!

4 Likes

Thank you :folded_hands: I’ve just been doing shenanigans with matcaps til now, can’t wait to see this in action.

1 Like

In the past week there have been multiple instances of tool devs announcing that they are shutting down their 3rd party uploading tools in response to being contacted by you guys saying that the tools conflict with your plan for the creator economy, it was also brought to light that changes to the TOS were made in the middle of April banning the development and use of these kinds of tools specifically.

I was wondering if we could get an official response as to what part of your plans for the Creator Economy conflicted with these tools and whether these plans included filling the need that these now-cancelled tools filled. That need being an easy and accessible way to upload avatar packages without the need of Unity and VCC.

Will there be a native way for people to upload avatar packages without Unity and will it be monetized?

Is the issue that these tools conflict with people buying directly from the upcoming marketplace in some way?

Are there plans to charge for the uploading of content through Unity/make uploading a VRC+ feature?

A lot of creators are concerned for the future of their content as there has been no official explanation for why these tools were shut down outside of what has been shared by the 3rd party devs. That reason given is that their tools “are in conflict with the VRchat Creator Economy”.

So many rumors are flying about so it would be nice to here directly from you guys.

5 Likes

PIYOMI FOR QUEST?! I’m so excited!!! (course ik its not exactly that shaider, just an equivalent, but OMG this is what I’ve been wanting for so long!!! :D (does it support transparently?)

2 Likes

Forgive my technical ignorance what are some practical uses for all the new udon stuff? What does it make easier or make possible to do etc etc?

What about a Specular workflow shader for mobile?

I agree, this is really exciting! It would be really nice if we could have a decent shader that we can use for all target platforms.

It would seem not.

Say you’re making a game with health and a mechanic of shooting other players where shots could do a different amount of damage based on how long the player charged their weapon, you’d want a way to sync up the amount of damage done when a player is hit.
Without the new SendCustomNetworkEvent with parameters, you could send a message saying that a player had been hit, but without a damage amount so you’d have to figure out another way of syncing that. Another option is for one player’s client to update the hit player’s health count, but then you’d have to wait for VRChat to sync the parameters between clients which happens relatively infrequently causing a long delay.
With the new system, the shooting player can directly send an message to the hit player saying “I’ve hit you for x amount of damage!”, making the update simple and fast.

5 Likes

I don’t think anyone officially associated with VRChat could or would fully speak to the details here, but I strongly feel it’s necessary to clarify that avatar uploader tools were always banned.

VRChat’s creator guidelines have, for a long time, contained “Do not request log-in information from users in any situation”. This is something that the uploader apps were in clear violation of, and it’s also the guideline that places such as RipperStore violated with their client-side uploader.

Policy-wise, the avatar uploaders were not distinguishable from a more-legit variant of the RipperStore client. It’s admirable to focus on user value, but doing so by executing a strategy based on “getting away with it” has predictable stakes with predictable ends, and it should be a surprise to nobody that the gambit failed.

It’s worth noting that VRChat ToS explicitly bans using their platform without an agreement. This is the agreement that, when it is updated, you agree to in the client. Their Creator Guidelines updates don’t necessarily follow the same cadence nor rigor in requiring acceptance, but the difference in strictness is always decided in VRChat’s favor. This is the document that carves out exceptions for usage of their APIs.

However, in this document, they are still clear in their reference to “at your own risk”, and their mention that the APIs are unsupported, i.e. they do not actually have an obligation to maintain them for any third party.

It’s also very important to consider that VRChat already has business contracts with other entities that do avatar uploads. These are third parties that have executed legal agreements with consideration for VRChat. This is important, because it costs a significant amount of money for VRChat to store and serve avatar and world files. Neither bandwidth nor storage are free, on top of the other costs of running infrastructure. VRChat may itself have legal risk and potential economic loss associated with not making access conditional on executed contracts, as this would otherwise mean those business partners being locked out of a free/cheap alternative due to their official business ties.

The shutdown of Avatown and Third3d, then, is clearly because they failed to negotiate a business agreement with VRChat. To what degree they understood their strategy of violating VRChat’s own guidelines - until they could gain enough leverage through adoption - is not widely known.

VRChat has publicly shown signals of the Avatar Marketplace’s release sometime this year, so it’s not impossible for these third-party uploaders to have decided “now or never” and made a play despite having the understanding that they were freeloading on VRChat resources and exploiting a (not actually) vague interpretation of the rules - or even straight-up flouting their guidance.

8 Likes

Appreciate the clarification. I did not realize that these tools violated the rules before the claimed changes to the TOS on April 15th. I was going off the reasons listed by the tool creators themselves who alleged that VRchat team stated that the tools directly conflicted with the creator economy and did not list any other reasons for why these tools were taken down.

While I still think the loss of these tools highlight a major need from the community for easier ways to upload packages, and would appreciate clarification from official channels in regards to how the VRC devs plan to handle uploading in the framework of the creator economy, this adds important context that makes the situation a little more understandable.

1 Like

great thing this exists because this gives people reasons to be a bit more creative with their models on mobile. Only question I honestly have is if we’ll get some new toys for shaders like always on depth textures or other components that we can slap onto our avis.

1 Like

lovely to put more beautiful things on Quest avatars colors :+1:

2 Likes

It seems pretty reasonable to assume that they’re working towards creators being able to upload and then “sell” their avatars within the in-game Marketplace itself, removing the need for those upload tools and also ensuring users won’t potentially get scammed having to go through third-party channels. Marketplace is already selling unlocks in worlds and subscriptions, so we’re not far off from that now.

But it would be nice to have an update on their intended path forward with that and any sort of timeline for it, even if it’s an extremely rough prediction.


Also a note as a developer, about third party tools like that… Generally you don’t want tools circumventing your pipeline, because it reduces your control over the data trying to be sent to the server and you can end up having to deal with more erroneous data. And aside from that, if such a tool becomes very popular, you’re now in a tough spot where you feel obligated to not break support for it, even though it’s not a tool you manage, to avoid upsetting a userbase. It’s not a good situation to end up in so it’s understandable for them to want to cut it off.

3 Likes

Mobile shader works for all platforms, as will this shader.

But I guess they could use platform defines in the shader to enable more shader features if exported for PC…

Will this still be restricted by the 11KB/s transfer limit of Udon scripts?
It’s one thing I’ve found a little restrictive for more creative worlds. Especially if you want new users joining to see existing state that has been set in the world. If it is restricted in that way, it would be nice if there was some sort of “OnJoinDataTransferAllotment” that could allow uncapped transfer speed up to a certain transfer limit, it would go a long ways to solving that.

Been waiting for a Toon shader that be like Standard Lit so emissions can be done on avatars.