Developer Update - 20 July 2023

I am directly addressing the problem of your suggestion. You are saying, “just break it down into smaller pieces and dedicate engineers to it”. I told you all the reasons why they can’t just do that for complex features that offer little value or ROI.

I am not going to chat with someone that engages in a bad faith discussion by pretending the legitimate discussion I am having is just fallacies. You reek of reddit user.

(Edit: Obviously I didn’t care anyways and replied, since I felt like I needed to. I feel bad that you’re feeling attacked, but that is genuinely a perspective issue. Stop assuming people are attacking you.)

Users wanting a feature for a long time doesn’t mean they are entitled to have the feature. Like I said, software engineering is complicated. There could be various features of the platform that would conflict with them adding states between public and private, which doesn’t even including the concept of designing the feature itself, and doesn’t include plans that they may have already to integrate it into the platform, nor the engineering overhead of that feature compared to other, more important features they could be developing. We have to look no farther than Avatar Scaling to see this.

elmo-stare

That is totally valid! I do too! Having upload tokens or more public states/user authorization would help for sure.

But, like you are a lead developer in your own right, you should understand that a feature like that would need to account for a LOT of use case factors. It isn’t a matter or just adding a token or changing a bool to an enum. There’s a lot of design, API work, UX, and functionality to be built around it. And then beyond that, the value of that feature in the scope of the whole project. Sometimes stuff just needs to be put on hold.

I agree! Helping people with their projects is a MAJOR PITA, and it’s much easier to just do it for them. But what I WILL say is that if you’re developing a project through VCC, it should be significantly easier than it was before. Especially that you can just backup the project, send it to them, and all they need to do is install the VCC, open the project, login, and press upload (especially if you pre-compile the shaders and what not).

By the way, if you didn’t see:
image

Edit: I just wanted to re-quote Tupper here. Tupper posted it for a reason. This explains pretty much exactly why VRChat is likely not implementing features or fixing certain bugs. You NEED to watch this video.

And now that I watch that video… I think it kinda makes sense why VRChat set probably 100 or more features/bugs as “tracked”.

1 Like

Oh, did anyone ask for an update on the android client yet? It’s about time to ask about it.

Ah, because well, lots of people do it this way, but it makes mix-and-matching extremely difficult. Like if you want shoes from one outfit and top from another etc. It’s also not great if you want multiple props. It’s much easier on sanity to just bool everything, and just make sure sure to add layer weighting, because then you bury less and can just do it all more manually. A lot of avatars lazily just slap outfits together then add undress states if you want to take off coats or shoes or whatever, which is mostly compatible with this, but you have to specifically want to do it that way if you were to limit yourself to this methodology.

I will always disagree with tools. There’s too many points of failure, and when they are effectively black boxes for non-technical users, it makes troubleshooting that much more difficult. They are good for automating tedious processes for people who already know what they are doing, but using tools to generate things, especially in complex systems, tends to result in a lot of mess. As i said before, tools are the main reason peoples’ animators are complete disasters. Just having it whip up a blendtree for you doesn’t mean it’s going to solve the problem just maybe mitigate it a bit. And again, people don’t go out of the way for these tools, they have to be part of the SDK and the standard “avatars for dummies” kind of guides.

I never heard of VRCFury until maybe a month ago, and i’m someone deep in avatar creation sphere. It’s not very heard of - even Lyuma AV3 Emulator has limited adoption rate despite being crucial for workflow being reasonable. Most people still just upload over and over to test stuff, and vast majority just clumsily stumble their way around trial and erroring until it seems to work, not really understanding the negatives of their crude setup. And this isn’t just newbies, even people who have higher aspirations and been trying to make bigger better more exciting things on their avatars, still have cursed laggy animators, because for a lot of people it’s just too hard to wrap head around properly; i find myself often teaching basic do’s and don’ts to people who’ve been at making fancy 3.0 avatars for a couple years now. The main reason i know what i do, is because i chose to study mecanim and watch official unity conferences before seeing what vrchat did with av3.

  • The easiest idiot-proof way to ensure performance and reliability is to just have a non-tamper fill-in-the-blanks method, with a handful of non-breaking options. And then an opt-in for hands-on avatar development. The templates should be adjusted or new versions added on over time based on feedback.

No it’s not, not by a long shot. That solves a lot of casuals and stuff, but anyone who wants to spend a lot of their down time and build an identity for themself in the platform (pretty important when it comes to social platforms) and get comfortable, they need an avatar they can call their own. I don’t have any way to access statistics on this, but i’d guess that a vastly stronger ratio of people had avatars of their own back in the days of SDK2 than they do now, even completely excluding quest. Partly due to more people in general, but a lot also to do with it’s just not in the noosphere so much anymore, the “meta game” of whipping up your own custom avatar in SDK2. SDK3 is such a barrier of entry, and SDK2 had been forgotten, and then publicly announced for depreciation.

unrelated

canny dark theme??

I don’t think you understand how BlendTrees work. You can map bools and ints to floats in the blend tree. So you can do precisely that. I already do that with integers on my avatar. I have various pants and shirts and can mix and match.

Isn’t that kind of what the pre-made SDK2 animator was? Also, I agree, that’s why I learned it from scratch and can say that blend tree toggles are probably the easiest thing to do on an avatar, even easier than reducing texture memory.

I never used AV3 because Gesture Manager works great for me. Plus there are some things you can’t test unless you’re in VR, like head or neck parents need constraints to not get shrunk by vrchat.

This is probably a good idea for them to do, and who knows, they might implement something like it. But I see little reason for them to spend development resources on it besides giving examples in their files.

Dark Reader

Check out VR Hands Frame
https://eurekaworks.jp/software/vrhandsframe/en/

I think you were not understanding what i was saying… For example you COULD technically combine many outfits and all their possible combinations mathematically into a single int, and calculate it out so that each menu option adds or subtracts a certain value that lands it on a certain integer value that matches the expected combination - but this is absolutely brain-meltingly maddening to develop.

I haven’t exactly gone neck deep into blend tree craziness, i haven’t used them much yet, but from what i see, is some nested blendtrees - unfortunately the screenshot wasn’t high enough res or zoomed in enough to see your main blend tree there, but i get the impression it’s of similar nature to what i described with the compounded integer thing. This is way too much for vast majority of people to wrap their heads around, and i’d probably find it frustrating to mentally map out as well. If you are referring to that as a contrast to an animator with a bunch of layers, then your main issue is the layers not whether or not you’re using blend trees. Which is why i brought up layer weighting. Layers and contextually weighting them allows for a much more organized and sanity-friendly workflow, even if it may potentially be marginally slower.
…That said i’m pretty sure a blend tree costs more than a single state transition, because it has to compare transition between multiple states simultaneously. A single toggle should only have to do a single transition and then hold a state, not reference many in a tree. Both animation speed (including clip framerate) and layer weight affect animator performance.

There were no points of failure, because it didn’t do anything, it just is what it is. Take it or leave it. Automation tools can conflict or cause unexpected side effects or not be clean in reverting actions or whatever. It’s idiot-proof because you can’t even tamper with it at al like i said. You aren’t reliant on the tools doing exactly what you want with no mistakes and no inconsistencies or errors. SDK2 never ever broke or messed up unless vrchat themselves broke something, in which they were, at the time, obligated to fix. VRChat needs this type of thing back, so that there can be better quality standard for the majority of the platform that aren’t doing anything ambitious.

No, you can just shrink the head bone to zero in unity and see what happens.
…The stuff you actually have to test in vrchat is usually far more specific, like obtuse bone rotations that you get in ik tracking, or the apparent different mip distances in vrchat i’ve noticed when doing shaders (probably due to vr).

I live how we’re arguing over whether people chew through avatars faster in avatar search worlds or in traditional avatar worlds, but y’all are forgetting that I can join any random public Black Cat instance and download 40 “very poor” avatars in 30 seconds, and more every minute as people join and leave. I kinda doubt avatar worlds are the biggest bandwidth hog.

2 Likes

Excited to see what new features are coming.
There really should be a VRC app, that functions like the website.

No. I mean, you can set parts of clothing to integers. It does waste space if you use less than 8 clothing toggles, but it makes it easy. You just setup the clothing options as toggles to set the integer to a specific number, and it makes organization of the toggles in the blend tree easy. Here is my entire blend tree for my avatar. I even remapped the face gestures to my blend tree.

I also made a quick video going over it, most of the “tutorial” is really just the first half. But this is more of a general explanation rather than a deep tutorial, hopefully to illustrate how easy blend trees are. To me, they are easier than traditional layers.

This is why I say they should just make a similar thing for SDK3, though ideally not super restrictive. But again, this would mean that VRChat would have to create, test, and maintain tooling that, to some degree, already exists through the plethora of tools that I linked.

Well today I learned. Thanks for the tip.

They did format the website to work pretty decently on mobile. You could (at least on android) setup a web page as an “app”, where it runs the website inside a UI-less version of your default browser and it feels a bit like an app.

yeah works on iPhone too. but want a proper app.

1 Like

I noticed some of the new accessibility emotes are animated, will we be able to upload tiny gifs too? Ones that atlas 2-4 frames?

1 Like

polyjitter ReadyPlayerMe is a great solution with a huge flaw, which is it’s an artstyle no one on VRChat is looking for.

It’s funny you say that, because I bumped into a bunch of people that was un-ironically using readyplayerme avatars the other day lmao

RPM’s used to be pretty rare, such that I only saw one out in the wild until altspace shut down. 10% of my friends list have used the site, but those are unused most of the time.

I’m not sure if they’ve added anything to the choices since last year.

So if you want to see RPMs in the wild, look for the altspacers

Edit: my profile image here is a modified rpm. Just stuck a nasa logo on to one.

Yes but setting each item to an integer value on a single int parameter means you need to make a separate one for every combination, or carefully overlap them in a way where partial values have multiple things active, otherwise you just can’t mix and match pieces of separate clothings easily. It gets very convoluted and difficult to navigate very quickly; it requires too many types of thought processes happening, which requires more mental power, and is not good for people who struggle with technical stuff. It’s not that you can’t, it’s just that it’s a lot more difficult. It’s also bloated on your bit limit. That’s why i tell people to just have a control layer and abuse layer weight pushing, because it’s so much easier to do and navigate, and you can just bool everything like usual, even use existing prefabs that make their own layers. Just have a system that weights them to 0 when not in use.

The goal is to reduce layer cost; using blend trees where you can can help you put more things in a single layer, like if you want multiple simultaneous clips active on a single player, a blendtree is your go-to. But i wouldn’t say this is the best or easiest solution, nor is mine, but mine is more easy to just tack on to what people already have and use.

Again the issue is it’s not idiot-proof, you can still accidentally do something that messes everything up, plus these tools are not consistent. Consider how many people suffer with write defaults because nobody can agree on whether to have it off or on.

I can’t tell if you’re misunderstanding me or if I’m misunderstanding you.

Here is an example of how I would setup an avatar:

  • Shirts - Int - 6 Toggles
  • Jackets - Int - 4 Toggles
  • Pants - Int - 8 Toggles
  • Shoes - Int - 4 Toggles

Each Int could have either a radial in the menu, or individual on/off toggles that use the Int (an included feature in the VRCMenu asset).

It sounds like you’re talking about the old method found on SDK2 avatars, where you use a radial menu and, in this case, have 6x4x8x4 = 728 combinations, which wouldn’t even fit on the Int.

That’s not what I mean. In this case, you can toggle all of these separately. Sure, maybe if you want to wear certain pants, you would have to consider it clipping and apply a blendshape to compensate. But this is as simple as having a sub-tree with the same animation, or alternative animation, to trigger another blendshape.

My method allows me to pick different shirts, pants, shoes, etc. in any combination that I want by toggling them individually. Plus, because it’s using Int, it will swap clothes automatically per-slot rather than needing to manually disable one and re-enable the next.

I can’t tell you how many times I mess stuff up every single day. I mean hell, I was literally avoiding using a standard way to pass data between UdonBehaviours because I HATE dragging game objects into fields due to the chance of misclicks.

But the solution there is to gain the experience and mindset of how to solve the problem. For example: Me finally figuring out how to do Inheritance/Parent-based variables in U#, making my system much more reliable and robust:

Nothing is truly idiot proof. People will always find new ways to break or not understand how to do something.

Like I said: A lot of the steps VRChat has done to help with avatar creation, plus the countless tools and tutorials out there, are pretty much more than enough. I could argue some of it could be better, which is why I do try to make concise and easy to understand tutorials for people, but they could always be better.

A line has to be drawn somewhere, and what you desire would require work from VRChat that they do not need to focus on right now.

Ok so this is kinda off-topic but is there any update on the radial menu coming to quest 2 hand tracking? Im mainly asking this due to features like the avatar scaling (when its fully out) being locked to the radial menu and inaccessible when using handtracking (which can be pretty annoying for people like me with broken controllers and cant just switch to them to access the radial menu lol)

Another thing thing that would be nice to know is if features like those would be added to things like the launch pad wings or settings menu, because that would also fix the problem

I’ve found the opposite to be true. Most users have rats’ nests for animators, and my frames that already struggle with udon have to cry feeling everyone’s garbage animators too, because nobody does it right (including often times the booth prefabs), and the tools seem to not help people (if they even use them at all).

Extra tools, and third party junk are not the solution, they only make more stuff everyone has to think about.

From experience, most people i’ve talked to that do a lot of avatar work have come to the conclusion over time trying stuff out, that it’s usually easier to do it all manually if you want it done properly and cleanly/optimized. It’s so much easier to know and know what you messed up when you do it all by hand. Nobody knows how these tools work, they just click a button and expect magic. Most of the tools, including the clothing combiners vast majority of users use, just add piles of layers and garbage. Even if you or i know of tools that might do certain things properly, you have many thousands to tens of thousands who do not, and most people don’t wanna deal with figuring out what is what - many people are easily overloaded/overwhelmed.

Even if VRChat were to advertise the tools in the quick menu and in the loading screens and in update videos and on the website, there would still be a very large portion of players who are completely unaware of them - especially if they aren’t native to the language the tool was made for. The best most optimized solution needs to be in the sdk and be default, with full on animating the way we do now being an opt-in.

That “just git gud” attitude doesn’t help very many, only those who are willing and able to spend the time and energy (vast minority). The target audience for simplification and lack of 3rd party tools pertains to most laypeople, not the power users that wanna make the ultimate avatar for themselves. I would never expect most people to do the things i do with shaders for example, cuz it was a nightmare to figure out a lot of methods, and was one of the least fun things i’ve done. . . I’m trying to speak for many people, not just myself and those like me.

To my knowledge, the solutions are:

  1. Create an in-game system for adding assets and creating avatars, to make it more accessible.
  2. Create better tooling in Unity that is easier to understand.

Both of which requires development time from VRChat. I don’t disagree that having something like this would be nice. However, VRChat has more than just that one issue. They have plenty of bugs to fix and plenty of features to introduce.

You’re making it a larger deal than it really is. I’d argue that avatar creation is easier than ever, it’s just a matter of finding the right resources to learn it. People that do not have time, patience, or money to learn how to do it really should be SoL.

The alternative for them is to go to an avatar search world and likely find an avatar that they love using. I used public avatars for a few months before I even attempted to make an avatar, and even after I started to learn, it wasn’t until 9 months in that I finally uploaded a custom avatar. But even then, the avatar was a friend’s mprefab that I modified slightly, so I really didn’t do much.

If people are that desperate to get new avatars, they need to spend time or money. There’s no in-between, even with more automated systems that ultimately will have limitations and people still struggling to use them.

I have told you already and even provided a very short video that shows you how you can basically do what SDK2 requires with blend trees. It is very easy to do. If people can’t spend 30 minutes learning how to add toggles through blend trees, they shouldn’t be making avatars.

If I find some time and motivation, I would love to create a start to finish tutorial on making avatars. I’m sure I can condense the entire thing into 30 minutes start to finish and make it easy for anyone to understand.

The problem is and always will be learning curve and required time investment. I’m not overstating it, i’m understating it.

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