I know constraints were previously mentioned as a target for performance metrics but has any attention been focused on blendshapes? They seems to be very much in vouge on modern avatars for customization in-game and to my understanding can have massive impacts on CPU time while I see very few people talking about the impacts. Hopefully it’s something that can be analyzed with the existing tools the team has to evaluate for priority by it’s comparative impact on performance.
Actually, such tool exists today.
It is called TexTransTool and can do a lot.
There is almost a module for everything
IIRC, the focus on blendshapes as an active performance item has been reduced because 2022 changes how blendshapes are calculated and is much more efficient.
Though, the VRAM cost of blendshapes is still a concern (but hopefully will be partially alleviated by the new Avatar Memory Blocking feature.
Once the “1 avatar, 1 outfit” thing becomes mainstream, people will be inclined to use 4k textures since it will be much more difficult to hit the maximum size by having 1000 uploads of all avatars with all outfit variation.
Meanwhile right now, we can have 1 avatar with 50 outfits with sub-2k textures that has good toggles that also properly toggle physbones etc.
Wouldn’t enforcing a limit on texture size (to max of 2k) be better, without forcing everyone to break apart their 5 avatars into 500 avatars?
Also, please add Uploaded Avatars Folder. It is truly a pain now, and will be a migraine when the number of uploaded avatars increases by 5x.
Why not catch the model thief first, but deal with the model maker first? This will only bring trouble to many people… If you don’t deal with optimization first, then deal with the model uploader and your system. I don’t feel much better after using Blue Bear…
As estimated memory usage is not yet visible in client, will it be added before July 16th, when these avatars are removed?
the stats are viewable in the open Beta which is Network compatible
Thanks.
I’m sure my reply will fall on def ears, however, it will make me feel a little bit better to vent, so I will
These URL restrictions are honestly a bit of a slap in the face TBH. So many other games with scripting capabilities do it and have been doing it for years.
Want to make sure nobody constructs a URL to a “bad place” fine big brother protect me on the internet, please while your at it, restrict every URL I can browse to on my computer.
I think this is nonsensical and just a front to obscure us from whatever the real underlying cause is for such heavy restrictions. Remote code/udon execution? Okay, yeah, that’s serious bad stuff and can understand the heavy restriction based upon that. Anything else though is just flat out ridiculous.
Tracking players, serving relevent advertisements based on player movements throught the game, whaterver. So what? The entire internet already does that.
I’m happy to see some slight improvements in URL generation over what we have currently, however, it’s basically nothing. Seriously, restricted to a subset of the current allowed URL’s? Yeah. Basically nothing.
This is probably the #1 wanted feature from creators that want to do really cool interactive stuff with their worlds. If you’re afraid of some remote execution or whatever then just just come out and say it.
By no means however are you going to implement a system where players can approve domains, make them aware of what domains are being requested on a per world basis, or what have you. The vast majority of players are just going to click “yes yes allow me in, my friends are here, i’m not reading this dialog box, just press yes”.
There that’s my 2 cents. I feel better now. Slightly. But not really.
Lmao I love how the comments have devolved into two camps, people who think allowing url construction is too far, and people who don’t think its far enough.
Uncompressed filesize and memory footprint are not the same. That’s a misleading statement.
That is an earth-shattering amount, considering there being hundreds of thousands or more avatars on the platform.
Though in most cases the understandable instances i can think of for ultra large avatars are ones where someone was trying to put video or somesuch similar onto an avatar. This would be mitigated if we could use actual video formats instead of having to turn everything into terrible sprite sheet flipbooks.
That or having some method of data streaming or modular bundling (prop system perhaps?) implemented to the avatar system so that people don’t have to download everything all at once.
There are avatars with large showcase animations or ones that are used as framework for RP events that may need large filesizes.
That said i do agree having 60 outfits and 20 effect gimmicks and 40 dances on one avatar is ridiculous and should be discouraged.
What a lot of people don’t think about is having multiple avatars with handfuls of clothing sets means is that you can have previous avatars memory freed up after being out of them for a while, as implemented and explained in the past. It’s better to have 4 avatars with 15 outfits each, than 1 avatar with 60, even if you have to swap between them once in a while at mild inconvenience.
As always reminding everyone that crunching is evil.
So I assume we can’t turn off the download limit for ourselves as PC specs vary per person. Kindof dumb to lift restrictions just to add them back in again.
Guess showcase avatars are dead next update if they exceed forced limits, thus limiting creativity yet again
Uh, what? There’s infinite ways people can crash. Hiding shaders stops one genre of them, but it doesn’t get rid of them. Even if you disable their animations they might have something that just is always on when they swap to an avatar. Block or ban, and they come back on a new account. All anyone can do is manipulate the social environment to de-incentivize such behaviour.
@Rainbow_Cupcake the only definitive solution is to stop going to public instances and instead use groups and friends to get into group and friends+ instances where your problems will vanish. if you insist on being in public, you have to just put up with the unfiltered slop.
Can you elaborate on what sort of things allow crashers to crash people, besides shaders, when you’re hiding Poor and Very Poor avatars? (and of course, people still using modded clients)
I’m not going to describe crash methods here. I’m only going to say people have used various native unity components to crash before, asset bundles that have been hex edited, and plenty other nonsense.
Shaders was merely a popular method after vrchat implemented the particle system limiter back in 2018, prior to which everyone used particles to crash.
Blocking shaders should help handle a lot of them, but it’s not a surefire solution. Though blocking everyone’s bundles from even loading is, unfortuantely.
As always, the most effective solution will just be biasing your social environment to probabilistically exclude bad actors.
As a small note, first time i’ve been crashed by someone in years was when i was in an instance with someone clearly very gangy, and i neglected to block their avatars, and instead hid one of their avatars globally, and got crashed by them upon them switching. I was in an environment that was outside my usual and got careless. That one was most likely shader though - i’d gotten so used to always having shaders on because i never deal with crashers anymore.
@lackofbindings Yes because those of us who actually want to create amazing things realize that what they gave us here is literally nothing, no different than what we can already do.
Upvote my Canny for something truly worthwhile that could be created with actual runtime URL manipulation…
Udon Discord API Integration | Voters | VRChat
As a Nintendo fan, I find it amusing whenever people are really mad and/or salty at VRChat for taking things glacially slow. If this is a slap in the face, expect to get slapped a few million times before you eventually get what you want in 100 years :D
I kind of appreciate that VRChat isn’t like the rest of the internet.
The coolest avatars I’ve seen tend to be small, like the entire tram ride into the black mesa research facility is under 10 megabytes.
I’m not mad, just frustrated that my creativity is being artificially limited for no apparent reason.
I do agree the avi size limitations are quite respectable, and welcomed. I wish they were smaller. Anyone with an inclining of optimization habits can get WELL below these limits.
The 500MB memory limit may trigger more needs for more complex Shaders, which I am personally optimistic about.
Utilizing some techniques can actually maintain sharpness or even make it sharper, but at the cost of extra sampling and more drawcalls to process the mesh, but the pixel shader load will never be too high if good enough techniques are used.
Also hope to see mipmap texture streaming enabled early.
For GPUs only URP may have some opportunity to improve significant efficiency, but is too long-term and difficult to convert.
But has the official tried to introduce compute shaders into VRchat? This may trigger more innovation and make fuller use of the DX11 standard.
Although computeshader may only be used in the world, and restricted to PC platforms, because computeshader are less architecturally efficient for mobile devices than PCs, which have sufficient excess resources.
Just a reminder not to focus purely on mobile platforms and think that compute shaders may not be beneficial.
just because “the entire internet does it already” doesn’t mean it’s a good thing.