Developer Update - 25 November 2024

Fax, I respect you entirely and I really don’t want to be mean, but:

How is this an issue? When did this become a thing?

I feel like the existing development of Udon 2 for all that time and the teased features goes far beyond this kind of problem. If such a blunt issue exists, why wasn’t this realized earlier?

I guess I’m just feeling an incredible sense of contradiction. VRChat has expressed many times about the importance of feature priority.

How could you guys have spent all this time on Udon 2 and especially hyping it up when, in Tupper’s own words, you guys were only teasing features that are close to finished. But suddenly now it’s just entirely gone?

And, like, you’re really going to just throw away all that incredible work you guys did on Udon 2 when the only legit problem is iOS. Plus you guys already were planning compatibility between Udon 1 and 2, so I can’t really see why you can’t keep that as a fallback for iOS. Heck, Soba could have been for iOS (similar to how Apple loves to make their own languages for stuff). I know you listed other reasons, but I think Merlin pointed out already how those reasons don’t make a ton of sense.

It’s stuff like this that makes us lose confidence in VRChat. There’s no clear consistency to the announcement of upcoming features and their timeline of being announced.

There are SO MANY features, especially QoL, teased over the past 2+ years that are still not in the game. Meanwhile, plenty of VRC+ exclusive features have been started and finished in that time.

We do recognize the good features you did release in that time, but c’mon. We asked for transparency.

I’ve said numerous times that you guys need to release a live task board that shows clear blockers and updates to features all in one place. You guys are not doing a good job at maintaining trust with the community.

7 Likes

Just wanna show more peoples this idea:

1 Like

I also want to point out some other things:

Firstly, there’s no mention of Udon 2 or WASM in the original post, despite it clearly being a widely renouned update that was previously promised.

Secondly, despite the majority of the thread being intense and leigitmate concern about what happened to WASM and Udon 2:

  • There were 4 VRChat Staff replies made before WASM or Udon 2 was mentioned
  • Of those 4 VRChat Staff replies, 1 of them quoted two replies mentioning Udon 2, but they did not directly mention Udon 2 or WASM.
  • It took nearly an entire day to have a response about WASM and Udon 2

Third: Like someone else mentioned, the original Udon 2 feedback request was renamed to Soba, and the udon 2 link redirects to soba:

https://feedback.vrchat.com/udon/p/udon-2

They also changed the post content, from this:


To this:


Fourth:

They rolled back on a change (which is not new behavior from VRChat[1] on top of existing radio silence[2][3][4][5][6]) and even acknowledged they overpromised (something they’ve talk about avoiding before[7], but somehow didn’t learn that lesson[8][9][10][11][12][13]).

Finally, Fifth, 209 days after Merlin was fired, and 27 days ago:

So… presumably based on their outward communication, as far as I can see: Within the last 27 days they were able to start working on “Soba” and not only have some WIP to give feedback on its performance, but also have a general roadmap, and they somehow know that Soba will [eventually at some point in the future, assuming the feature is still being worked on and will be released] have similar performance to WASM Udon 2.

27 days ago, we still were under the assumption that Udon 2 was going to be the same WASM-based solution with the performance they showcased.

And Fax replied with that.

That is not transparency.

Guys. I’m really sorry. But you can’t keep doing this. We wouldn’t be so mad about you guys doing this if you were just more honest about things.

If you’re uncertain, say you’re uncertain!
If something might jeopardize a feature, say so!
If you don’t have a release date, don’t promise any dates (roadmap)!

It’s really simple.

At this point, even if you are being entirely honest to the community and Merlin is somehow wrong in saying you’re lying or misrepresenting the truth, we can’t trust you.


  1. Age Restriction for Content Gating was turned off, and still is not turned on. Very few people are aware of this. ↩︎

  2. Someone asking about Udon 2 27 days ago, no response. ↩︎

  3. Another person asking about Udon 2 11 days ago, no response. ↩︎

  4. Steam Audio… sigh… ↩︎

  5. Udon UI… my beloved :face_holding_back_tears: ↩︎

  6. I didn’t even know this was a thing ↩︎

  7. “making such a promise would be lying no matter how you spin it” ↩︎

  8. Posted 5 days after Merlin was fired. ↩︎

  9. Posted 6 days after Merlin was fired. ↩︎

  10. Posted 11 days after Merlin was fired ↩︎

  11. Posted 26 days after Merlin was fired ↩︎

  12. Posted 98 days after Merlin was fired ↩︎

  13. Posted 140 days after Merlin was fired ↩︎

18 Likes

Why are other platforms having to suffer just for iOS parity?
Surely something like the Quest, which is additionally performing calculations for headset/controller tracking alongside the game while still using mobile hardware, would benefit from being able to JIT Soba bytecode?

I’m aware that Udon assembly lacked opcodes for arithmetic operations, instead deferring to EXTERN calls. Aside from having to look up the function, I also believe that EXTERN calls are security checked (on each call?).
CIL does have arithmetic opcodes, which would allow the Soba interpreter to elude the overhead of an extern call.

Am I right in assuming that this would (initially?) be where the biggest gains for Soba over Udon would be from?

Given how generics is supported in CIL, are there other features of the CIL that Soba (currently) doesn’t support? (Exceptions? Specific opcodes?)

Will we be able to use 3rd party libraries? (somehow bundling precompiled CIL binaries on upload?)

Will there be a verifier to check if C# or its compiled CIL code doesn’t use unsupported features or non-whitelisted functions? or will the only way be to run it ingame?

5 Likes

Like many others pointed out, this is very low, there’s a huge lack of honesty/transparency.

Not only did all of those points get debunked but even if they didn’t, you dropped everything because of IOS? A platform on which you have almost 0 users and that even released outside of a closed beta? Really?

This is beyond disappointing.

1 Like

I’m honestly still confused as to what we can do with this new system, like are we also getting access to more UnityEngine APIs and systems like possibly having the ability to use some aspects of the Jobs system or taking advantage of command buffers to create our own post processing systems that might be more optimized than the current Post Processing stack, and other things I can’t think of atm?

1 Like

Oh yea! I mentioned tagging at the very bottom, would be much more useful ^o^

1 Like

There are a lot of responses in this thread that are essentially echoing this, and I just want to say that I don’t think this is fair or accurate to Fax’s response above.

We’ve provided our reasons, which we are fairly confident in! This was not a decision made at zero hour, but rather one that took a lot of consideration and a lot of time.

Given the nature of the topic, though, getting sucked into a back-and-forth means tagging in an engineer (or engineers) and getting them looped into a contentious debate.

We’re watching the thread and doing what we can to add clarity when it’s possible, but don’t expect us to get into a deep analysis here.

3 Likes

That’s fair, I’m not knowledgeable enough to know for myself if things are 100% debunked/false but looking at the overall sentiment and replies from people making very good points (Merlin, Dark) it really seems like those statements are at least omitting important facts.

I also cannot help but notice that none of the points made by those two are being addressed. I understand not wanting to have an engineer “waste” time answering questions here instead of developing stuff. However I feel like it is normal to be critical of such a big shift regarding such a big and long-awaited feature.

I want to trust in VRChat and the points presented by Fax but see how that can be difficult?

1 Like

For what it’s worth they took this decision in their context. How easy the issues are to fix for me, or how valid they are is kind of a moot point since I am no longer there. They made those decisions with the resources they have now and preferred to throw the project instead of ask for help. For them, right now it seems like it’s easier to go the route that they are. edit: The main issue I mentioned from a community standpoint is the decision to obscure the reasoning in such a major change in direction that directly impacts the community. Of course I wish they could’ve shipped Udon 2 and that’s a point in a trend indicative of a larger issue with project management.

I will mention though, they seem to have a bus factor of 1 here. They apparently had that with Udon 2, however Udon 2 was something that if they had not cut off all of the refactoring and documentation that would’ve led up to a proper exit from me, would’ve been far more maintainable. If they lose their person they have right now, you are talking a whole compiler, VM, JIT, validation toolchain that no one at the company can maintain, and would be basically impossible to hire for. What I’m saying is, if they think they had it bad when I left, good luck if/when that person leaves.

7 Likes

Just for context incase you arent already aware, “Merlin” is/was the udon 2 developer. So if anyone knows that they are talking about regarding Udon 2 its them

2 Likes

The main problem i see is vrchats, repeated inability and unwillingness to work with competent community members.

While i obviously cannot speak for you, I’d have to assume if they asked you kindly for help debugging an issue, e.g “1Gb heap allocation” that you wouldnt be to opposed to atleast give an pointing hand.

What I can say though is that this isnt the first time this has happend, they also refused to work with the modding community 2 years ago.

To me it seems honestly like alot of these decisions are decided upon ego and pride, rather then a want to make a good product for their community.

4 Likes

no worries, I think most of us stopped believing VRC is capable of any transparent communication and addressing any user feedback at least 4 years ago. So I don’t think anyone expects anything at this point.

4 Likes

Not at launch, but yes, that’s a great feature we could add!

Thank you!

It’s a bit of both. Incentivizing creators to optimize their networking code helps us keep server costs down and reduces bandwidth requirements for players. But it’s true that raising our limits may be beneficial, too! I’m curious how Persistence and other future updates will affect our limits.

(For anyone else reading, check out our docs to learn more!)

I was referring to implementing highly-requested features from world and avatar creators. We want to meet the needs of VRChat creators, and Soba helps us accomplish that.

I love your feature request! Thank you for going into additional detail on the forum.

2 Likes

I could point them at some potential culprits and how to address them at least. It’s entirely likely they just hit a known issue in a degenerate case here that had an easy optimization I hadn’t gotten around to because – well, it wasn’t shipped yet.

4 Likes

I’m genuinely not trying to be an asshole, but after reading what I wrote, this is what you have to say?

I provided a ton of links that I found after searching for hours on information about udon 2.

Of course, sure, multiple times you guys have mentioned that features are not final or whatever. That’s fine.

However, the outward communication about udon 2 has been consistent since its first announcement. Except for this developer post.

People have waited literally 2 years for this feature. Me and many other people were incredibly excited when you announced the performance examples.

I am going to say it again:

We are not upset that you rolled back a change.

We are upset that you rolled back a change without mentioning why you did it in the first place until massive backlash in the replies, as well as this pattern of rolling back, reducing features, or otherwise scrapping useful work and features.

We are upset because this is an incredibly common pattern.

We are upset because the one time that you guys worked hard and provided a ton of features that actually helped the community was after you guys lost a ton of users to a potential competitor.

We are upset that your general behavior shows that you guys don’t have the community in mind. And yes, I know you guys individually care about the community. But the goals of VRChat as a company seem like it could generally not care at all.

Even when I was searching through the forum and feedback site to find evidence to support my claim, I came across numerous posts from not only myself but dozens of other VRChat users pointing out this exact problem over the past 2 plus years.

Again, I’m not critiquing Fax. I’m critiquing VRChat, and it just so happens that Fax had the most replies about these issues.

If I can make an entirely honest suggestion:

At this point, stop doing developer updates, or at least don’t do a developer update unless the features you want to announce are actually ready to ship.

You need to stop showing us things that are genuinely awesome and then not talking about them ever again. You need to stop rolling back features and playing this game where you legitimately gaslight us and pretend like we are all children who don’t know how a business works.

I understand how software sprints work.
I understand how releases work.
I understand what technical debt means.
I know what “combing/grooming the backlog” means.
I understand what task points are.
I understand what Epics are.
I understand what blockers are.
I have experience working on a team writing software.
I have experience using Blender.
I have experience using Unity.
I have friends who also know these things.
I understand what PR means.
I have experience in customer service.
I have experience in being promised things as a child and being let down because my mother was self-righteous and believed that her needs went beyond giving us food, running water, and electricity.

You even have your own previous developer, the one who spearheaded this project, calling out your lies, or at least manipulation to the public.

Yes, I understand that maybe Merlin was not great to work with or something. But you still trusted this person enough to write a huge feature that would have had insane impact on the creator community, enough so that you didn’t have a contingency plan in case he was not at the company anymore. This person, who even deleted his original Twitter post explaining why he got fired (which was either you guys asking him to delete it, or he felt bad enough to actually delete it), and generally was radio silent about any issues at VRChat, is calling you out now. I’m going to believe him.

Like I’m really sorry, but you guys are doing this to yourself. We are not idiots.

If I can give you any advice that I hope you take: take a page out of Valve’s book.

18 Likes

The sad truth is that it’s not ego and pride. It’s just how business works.

Strasz, Fax, Tupper, etc., even a person I really disagree with: Sach, are all subject to pressure from above.

VRChat raised an $80 million series D. That’s nothing to scoff at. But it likely also comes with the weight of decisions from investors or especially C level management.

For the most part, when anyone at VRchat talks in an official capacity, they are representing the business needs of VRChat.

However, the problem is that businesses are greedy and selfish by nature. In order for a business to survive, it needs to make money. Typically, most businesses have to rely on existing patterns and statistics to justify business decisions.

Unfortunately, that strategy generally does not incorporate the feelings of its customers. They do this because it works for the most part. By gathering statistics through their software of how people use their software, they can find ways to inject capture points to funnel users into a checkout flow.

But what I still don’t understand personally is how multiple times now, staff at VRChat somehow can’t see this. When we critique a business decision (which is what this soba thing is), they see it as a personal attack for some reason.

Granted, in the past, I have been very, very rude. I used to have little to no filter. Tupper even blocked me on Twitter, but thankfully he gave me a second chance and I appreciate that everyday that I use this platform.

But I’m just exhausted. I’ve been trying to advocate for not only myself, but many of the creators that I know. I try to advocate for the average user, I try to advocate for power users, and I even try to advocate for disabled users.

I am so hurt by the change because the existing feature was incredibly promising. But if after 2 years they throw it away and the best they can come up with is basically an update to udon that lacks a ton of the potential features udon 2 had, how can I trust them when they say that soba will eventually be very performant and have a lot more features? I can’t.

There are countless quality of life features or even just cool useful features that could elevate this platform, but they seem to just not care. They know that the majority of users don’t even read this forum. They know the majority of the users have no idea what’s going on in the background. They know the majority of the users don’t know what they’re missing out on. So they can just keep doing this behavior over and over again because everyone will forget in a week.

6 Likes

While i would agree with you if it almost any other company, or even most situations with VRChat.

In this case, and especially in the case of how they treated the open source modding community. I cannot see how it makes financial sense to make a worse product, especially when community members are offering to make it for free.

Surely the goal should always be, make the best thing possible as cheaply/efficiently as possible.

I will acknowledge i am personally biased though, and my opinion is likely flavour since as you’ve said it yourself. The management team tends to take criticism as personal attacks.

When they constantly do that, its hard to believe their ego does not play a role in their decisions.

Addendum: I specifically specified management team here, as its really them the fingers should be pointed at.
im lucky enough to gotten to known many of the actual developers here personally. And they are lovely people who care for the community and these things, most of which im sure where not even notified of this change prior to this announcement.

Edit 2: If anyone want any more context as to anything Ive said or alluded to you are free to contact me about it. I dont want to distract from Udon 2 to much.

2 Likes

I don’t think it’s productive to make assumptions like this!

When I said this, above:

We’ve provided our reasons, which we are fairly confident in! This was not a decision made at zero hour, but rather one that took a lot of consideration and a lot of time.

I think I did a poor job of explaining what I was trying to get across here. I think the above message could read as, “The management said this is how it is, and everyone nodded along.” That’s not what happened. We had a problem, a solution was presented, and both management and the team at large bought in.

This is what the team wants. We are confident that this path will allow us to deliver and ship something we’re proud of, that will give more tools to creators, is doable, maintainable, and is something we can build on.

To step back and be vulnerable for a minute: I (as a person, not speaking as a “Community Manager” here, but as Strasz) have full faith in the engineers and designers (and management, for that matter) working on VRChat. I am surrounded by people who I’m lucky to work with, who are absolutely brilliant at what they do, and that certainly goes for team working on this project. When I am posting here with confidence about what we’re doing, it’s because I believe in them. I want you to, too.

We love VRChat and are trying to make the right calls here, and we know that sometimes that’s frustrating or hard to see. I hope that one day we maybe can do some sort of blog post talking about the development of Soba and going over all of the challenges involved with it.

3 Likes

This is what the team wants. We are confident that this path will allow us to deliver and ship something we’re proud of, that will give more tools to creators, is doable, maintainable, and is something we can build on.

Going to point out here, the team was confident about Udon 2 – it wouldn’t have gotten as far as it did otherwise. It’s incredibly easy for someone to invent an issue and have no one contest it because it’s a fairly technical system. You could go and get Soba close to shipping, lose the engineer, and have another come along and tell you that Soba also wasn’t the answer and had some critical issue regardless of the truth of it.

5 Likes