Developer Update - 13 February 2025

I promise you, if the VRCSDK auto-optimization breaks something and the fix is not provided rapidly, users will always disable it and strongly recommend absolutely not using it.

The reason I personally trust AAO’s auto-optimization is because it aims to be completely non-breaking, and if it does break something, it is fixed rapidly.

Additionally, the existence of community tools with similar features is another reason why I am concerned about VRCSDK’s auto-optimization.
Indeed, you are correct that the VRCSDK should be able to perform optimization, as users do not necessarily install community tools.
However, if something goes wrong with VRCSDK’s auto-optimization, there is a concern that it could damage the reputation of those community tools – especially among users who were not particularly motivated to use optimization tools in the first place.

Please remember that it is we, the community developers, who will be affected by such damage to reputation.

2 Likes

My point is that tools can be graded according to category and degree.

Reasonable grading, for example, provides three or more levels like o1, o2, and o3 like a compiler.

There is not just a difference between on and off.

Thus avoiding polarization.

vrchat doesn’t like that, because it means developing and troubleshooting thrice the conditions, and more importantly to them, more / more complicated support tickets.

This is my desktop actually haha. But yeah! It’s a general fix that kills a bug in the SDK on every Linux distro.

2 Likes

“We want you to quickly learn a very complicated and nuanced topic of an already rather complicated field by using our tool that works using a hacky solution that relies on manufacturer-specific NaN-zero collation and zero-width triangle discards. But don’t go ahead and learn these topics, no, just use this automated tool that definitely can account for every state of your avatar”. I can see nothing wrong going there. Not one bit.

…and you are planning to ship this joke active by default. Nice to know ahead of time that we’ll need another harmony editor patch, this time to make sure you don’t break anything.


Instead of taking tools implemented by community and half-arsing their implementation yourselves how about you introduce tools that actually do the job and educate people (and properly this time, along with yourselves)? You already have a dead-on-arrival wiki, which is a perfect tool for educating people on cross-involved topics.

There is a reason why your avatar performance ranking is seen as a joke among… anyone with a slightest bit of knowledge of the subject.

On the topic of optimisation: why are you so averse to giving us the proper optimisation tools like LODGroup component and declared LOD swapping for shaders? You know, the tools built specifically to allow for quality and performance, trusted and sworn by by every game developer.

While at it, throw in a VRCTag and name filter for shader family blocking, please. If for every time a poiyomi variant caused my game to sync load it and hang for a longer than a couple of frames I got a penny, I’d be a multimillionaire by now.
And if I got a penny for every time variants of that abomination accounted for over 1% of my frame time, I’d have infinite money.
At this point I’d rather see error fallback shader.

Your worst performance hogs are already identified for you by your damn community. Hire a CG programmer and implement mitigation steps properly instead of using hacky solutions.

So, why aren’t you moving in this direction? It’s not like you already have a VM that can run arbitrary code. An extern call to gO.SetActive() costs less than an entire animator eval code, and is much friendlier for everyone involved. Not to mention how much easier it’d be to implement anything more complex.
Well, aside from the fact that one can break out of your sandbox, of course. Not that it stops you from feeding that VM world assets, though.

This would be a great gateway into separating assets. Only load what’s needed, only update what’s needed rather than blackboxing everything. Normally one wouldn’t want to go YOLO with UGC.

2 Likes

While I can’t speak to the other topics, I can say with confidence here that you’re very much incorrect as the wiki has been growing steadily in popularity since launch.

If there’s something you think the wiki needs to improve on or do differently you’re free to make those edits yourself or join the Discord server if there’s something worthy of a more long form discussion.

5 Likes

Hi, the wiki is owned and backend maintained by VRChat but is primarily run and edited entirely by community, just about everything you see on there is written/made by the community, even the CSS!

If you’d like to contribute knowledge you feel is lacking on there feel free to start editing to make it a better place.

3 Likes

I’m glad it’s getting some traffic, however almost none of it is organic; it’s not promoted by VRC in the client itself at all, or in SDK. There’s also a problem with your bounce rate, which is what I’m referring to by calling it dead. It’s a wiki, you should see sessions with minutes of stay and lots of page hops in one.

Natural discovery also seems to be doing about as well, given that the most straightforward request of “vrchat how to upload avatar” does not even yield wiki.vrchat.com on the first three pages on bing or google (see attached 1 & 2). I can’t say with a straight face that it’s not dead. It is, however, funny to see creators domain pop up, along with an alternative wiki.

And from my own point of view/experience it literally never popped up in my searches of VRC-specific content and tech, while many other sources did.

So, not really. Not incorrect, unfortunately.

I don’t think you quite understand how funny this sentence is, given that we are talking about an easily indexable practically static text contents that would be a boon for anyone seeking information–the best thing to search through.
…talking about it on a forum–an easily indexable and somewhat searchable forum–with fairly static content. And you want this to be pulled away into a closed ecosystem where page search is not a concept.

Please tell me this was a bad joke.

Make a separate topic if you fancy an in-depth meta discussion. It’s the official forum/discussion board after all.

And absolutely nothing at all is stopping them from contributing to it themselves, as the primary interested party; even VDC wiki gets such contributions. Community can correct their mistakes, should those happen, and vice versa.

But if VRC isn’t interested in teaching its playerbase, why would I pick up the mantle? I’ve already done my part in this endeavour by educating my social circles, and them educating theirs. They seem to be much more interested in making marketable patchnote readout videos.

Frankly, I see it as a waste of time given how often and significantly VRC tends to get things incorrect, only for people to parrot these things for years.
To this day I have to explain how polycounts matter very little while doing hacky shite mentioned above (clip or discard all over the fragment with failed Z-prepass; NaN collation in vertex; using morph targets in place of component/object (de)activation) hurts our frame times worse than what VRC considers to be “unoptimized”. All the while SDK proudly says 2 SMRs = bæd.

I don’t get paid to fight uphill battles of ignorance like this. I play VRC for fun, and sometimes teaching this is a part of said fun.

Oh, I’d like to. There are two issues to overcome, though, and I’ve already mentioned the first one already with VRC misleading people: I don’t really fancy wasting hours of writing articles only for the host to be shut down for the sake of savings in a year. Given its state after over half a year of existence, I will stick to my personal link directory for the time being, or at least an unaffiliated enthusiast-ran host.

2 Likes

(post deleted by author)

I’m a bit sad that this topic got derailed when people were making good points about the optimizer.

Anyways:

VRChat needs to release their optimizer off by default, at least to start. There will be bugs and there will be edge cases. I’d rather the general public be able to test this feature and submit feedback before VRChat considers enabling it entirely.

VRChat has been doing so good lately. I’d hate to see them shoot themselves in the foot over the optimizer being enabled by default.

1 Like

I haven’t been seeing many updates on the IOS port for VrChat. I’m not expecting to hear about a release date but is there anything new of note?

Is there a world where we can communicate from avatar to world ?

This is kind of late to reply for me but I think there should be IP bans.

There have been many instances in VRChat that people have been banned from the game. Permanently. Even though this is useful, it doesn’t stop anyone from making a second account, third, or even fourth from them. Anyone can get back into VRChat with a new email, password, and username and they would be able to get around the ban since there is nothing to actually stop these people from doing so.

This would eliminate a good chunk of people with repeated offenses and even possibly have a better experience in public instances. It’s only an idea but I think it would help out a good chunk of problems like public instances where the current work around is Groups.

From what I understand there are IP bans but people have VPNs and there are HWID bans but people can spoof a new HWID. For security reasons VRChat likely can’t say for sure what they’re actually using to ban people and keep them banned but no matter what they do there will always be a somewhat easy workaround.

That is unless you want to be super draconian like requiring ID verification for every account but that would utterly murder the playerbase and likely kill the platform in the process.

This topic was automatically closed after 14 days. New replies are no longer allowed.