Recommending WD off in the sdk is misleading and misguided
available in future release
SenkyDragon
Even though the default base controllers provided by VRC are written with WD off, the VRCSDK should not warn when controllers are using WD on.
- Most users don't understand the consequences of changing between the two, and should use whatever controllers were provided by the creator of the avatar base they are uploading. Seeing the additional warning is confusing and can lead the user to breaking their perfectly functional avatar.
- WD off actually leads to more obscure issues than WD on. We've documented all of the currently known WD-related bugs in https://vrcfury.com/technical/wd/ , but the requirement to use masks on all fx layers when the gesture controller contains any transform animations is really a killer, and impossible to solve in many cases (due to the unrelated unity masking bugs).
Please consider removing this warning. Thanks.
Log In
This post was marked as
available in future release
_
_tau_
updated the status to
tracked
We will be changing this to only warn when mixing WD settings, but allow both ON and OFF workflows. We will be changing and extending our documentation to match as well.
TenaciousElegy
_tau_ glad to hear about the documentation too!
Honzackcz
I think, good compromise would be "Info" icon instead of "Warning" icon. This way people who don't understand what it means will more likely ignore it.
As stated in https://creators.vrchat.com/avatars/#write-defaults-on-states VRChat just recommends using WD off and it's fine to use WD on based on this part in the documentation: "All that being said, if you get into more advanced use cases and setups, it may be advantageous to use Write Defaults On."
bd_
One issue historically with WD on states is it can result in incorrect (3x multiplied) blendshape values - which does not impact the mirror clone. This means that it’s very difficult for someone to realize that they have the wrong facial expressions. (IIRC, this bug report motivated the WD off recommendation)
Conversely, issues that arise with WD off are usually easier to discover on one’s own.
SenkyDragon
bd_ The 3x blendshape issue is caused by having additive layers with WD off. The reason it became so prevalent is because VRC introduced a default WD off additive controller for all avatars unless you explicitly clear it (vrc_AvatarV3IdleLayer).
Removing this controller resolves the blendshape multiplication issue in most cases, but it can also be resolved by setting the additive layers to WD on (similar to direct blendtrees). Interestingly, setting additive layers to WD on seems to have no detrimental effects and does not cause the typical mixed WD bugs.
bd_
SenkyDragon Interesting. If anything then, the VRCSDK should call out that kind of dangerous combination I guess?
Saigo
Saying "lets enable creators to continue using unrecommended workflows instead of adhering to our set standard" is probably more misguided.
If VRC decided to use WD Off, told everyone else that this is the standard, and then creators continued to ignore it, it's not VRC's fault that a creator's things end up broken by a user that is actually attempting to adhere to VRC's set standard.
Making things more complicated by using multiple workflows when you've already been informed to use a specific one so that such bugs can be ironed out, is probably more problematic for the end user than simply adhering to a set standard.
Saigo
Leave it to a more advanced user to use a nonstandard workflow on personal models. If you want to distribute, then adhere to standard workflows for the end-user's sake instead of blaming VRC that you have additional support to dish out.
Mass1milian0
Saigo honestly, standards aren't imposed, it's a thing that the colletive community just follows, and right now, 90% or more are on the WD ON boat, and for very good reasons too, not only wc off leads to a ton of bugs that you have to work around as described by https://vrcfury.com/technical/wd
wd on it's generally easier and leads to a more predictable and consistend behaviour, aside of halving the amount of animations you would need with wd off
lastly, blendtrees, in WD OFF workflow you are forced to mix WD and use blendtrees with WD ON, because blendtress work A LOT differently (especially with blendshapes) on WD OFF, the behaviour you expect from a blend tree is consistent only if the blend tree itself is wd on, try turning it off and see your avatar blendshapes shoot to above and beyond as they additively add up to infinity and -infinity
so from my prespective, it's just vrchat being stubborn on a workflow that is actually worse and less user friendly than the community estabilshed one
Saigo
Mass1milian0 You can agree that hard limits are a bad thing in the context of VRC, right? So, of course they aren't imposing a standard.
I'm well aware of the many bugs people apparently encounter. Fortunately, I don't encounter them myself, running on WD Off. I also don't adhere to their specifications exactly. But I don't distribute, so I don't need to. But yes, no issues on WD Off at all on my end.
As mentioned in my own reply, advanced users can certainly take the initiative to do things their own way. But you can hopefully grasp that mixing WD settings isn't a good idea. It actually doesn't matter if a standard is considered subjectively worse if the standard is set for a reason.
VRC has enough to debug without creators causing their own problems by ignoring recommendations. You have a standard so that things can be predictable and can be easily addressed. Working outside that standard is only complicating things. If VRC decides WD On is the new standard, then I would suggest everyone use WD On. But since they set the standard to WD Off, ignoring that and creating your own problems isn't on them to address, I would think.
SenkyDragon
Saigo I'm not suggesting that WD Off be abandoned as the standard. I'm suggesting that this warning should be more finely targeted to the actual creators of avatars, rather than the end users who don't have much control over the process and are just trying to make their upload work. If I had to guess, there are a /lot/ more of the latter than the former.
Saigo
SenkyDragon That's ultimately endorsing unrecommended behavior and perpetuating what is the actual problem though, don't you think?
As someone with weight in a community, I would push for a better outcome than that, I would think. I understand feeling inconvenienced by having to adhere to a standard that you do not prefer when it comes to distribution to the end-user, but this isn't going to address the overarching underlying issue; the perpetuation of an unrecommended workflow complicating things for the end-user.
VexaMoonlight
Saigo I disagree, a warning like this should not exist because why should VRChat care about WD on? WD on does not hurt performance much it actually improves it + fixes issues like having the avatar halfway below the ground because a few animations require WD on forcing the entire avatar to be set to WD on. The real warning
should
be "This avatar has mixed items with WD off and WD on. Consider forcing everything to be WD on for sake of performance and to prevent bugs. For more information check out: https://vrcfury.com/technical/wd". Which is funny because VRCFury does
just that AND has a component one can use that will "Fix write defaults." that 100% of the time also fixes all the bugs one would have in their avatars.Saigo
VexaMoonlight I've already mentioned that they care because using multiple different workflows that are unrecommended pushes support and debug inquiries onto more than just the creators that refuse to adhere to a set standard.
Also, I've already mentioned that I have no bugs on WD Off whatsoever. I would more readily attribute the cause of bugs on WD Off to a lack of experience than on WD Off itself. There are plenty of gripes I have with VRCFury as a tool, so we're comparing apples to oranges.
VRCFury is not the VRCSDK nor is it the standard nor should it be. The standard is what the people making the platform you're using decided it to be so that they can make things more predictable and easier to debug. Again, if they changed their standard to WD On, that is what I would be suggesting because that only helps VRC. This is only perpetuating a problem.
SenkyDragon
It also doesn't help that additive layers should be WD on within WD off avatars, but the VRCSDK check doesn't account for this.