#avatar-optimization
1 messages · Page 24 of 1
yeah beyond that you can't upload
- if its not perfectly in a corner and can just be scale 2'd, 1 is done in blender via adding another uv map, adjusting it to your needs, and baking the old texture to the new blank target texture. like 40 buttons to click
Somthing like this covers most of it, https://www.youtube.com/watch?v=Se8GdHptD4A, the only difference for vrchat you'd want island margin to be like 1/8th of your image resolution adjusted up until there is no default pixels remaining. Skip all the bake sections except for Bake color map~
4 unity output log after you done a upload/offline, search for ' Bundle Name: ' , it will show every thing on the avatar including icons and their compressions , there are scripts for it you can use to read it for you ' buildsizeviewer' is one
Is that inbuilt to the vrc sdk or is that an external package?
unity output log or the script https://github.com/MunifiSense/VRChat-Build-Size-Viewer
it just reads your output log so you dont have to search for it 
Nice, ty
Hey so im optimizing my avi for it to be able to run on quest but i still have not figured out how to reduce the poly count without ruining detail. this was originally about 55k
i personally admire pretty much anyone that makes pretty detailed avatars for quest
and mine looks basic (ngl even the full poly one is but im working on improving)
i have done what i could, dissolve some geometry and even occlude the legs
dissolve more geo, target dense areas, don't be afraid to create triangles if needed to preserve deformation and/or shape, and bake normal maps for fine details
normal maps can also generally preserve the shading of smoother shapes
many places you could dissolve edge loops still
for example
(obviously should be symmetrical)
also if the pants are permanently on, there shouldn't be geometry behind them
i figure that's what they mean by "occlude the legs"
Theyre interchangeable
And Even with that i only managed to get it to work by straight up making it half body
Actually i followed something like that and Even removed some from the inside of the head
gorilla tag 🤣
sorry i had to
is 40k tris on an avi okay or am i fucked
(without retopo because i deadass just cannot be bothered)
quest
, pc fine
my quests av should never go above 20k
have some in <10k but wasnt really putting much effort in them know more now then way back then.
having a backface culling shader for quest also handy
How does one get a shader like that?
I am a moron.
I have been doing avatars for years, and never noticed that.
How much does it help performance?
Not for quest
Actually You are for real
Looking at it, i think the geometry around the torse as well as areas of the face like the nose bridge could be made simpler
There might be a little bit of wiggle room with optimising the arms and legs
its kinda a newer shader for quest
i just made a super unoptimized avatar lets gooo
*angry noises* xd
Hey Friends! I am new to creating avatars and clothes. Do anyone know how to take clothing blender files and optimize it for vrchat?
oh, you cross-posted 🙁
does anyone have any ideas about efficient workflow for swapping out a set of 2D Visemes (one material each) for a sprite sheet in Blender? i have a rough idea of how to do it (putting each expression in its own section on one larger texture plane) but as far as mapping them for practical use, i'm a little lost.
currently i use blendshapes to animate planes in and out of view. i guess i would use the same planes but remap them to the new texture with a mapping node... no clue how i'd figure out the correct positions without just guessing and checking, which seems like it would take forever and not be guaranteed to be symmetrical
(posting in optimization since it's about cutting down my number of materials)
wouldnt really bother about it in blender have to move uv, in unity just offset scale instead to places on the texture
where can i find the list of all the physbones and colliders for an avatar in unity?
the issue is i'm trying to consolidate the textures because i (foolishly) just exported one png per eye viseme, so now i've got an excess of materials. i don't think offsetting scale helps because it's still reading one single material per viseme, as opposed to a sheet with all visemes on it
but maybe i'm misinterpretting your solution
oooh! very awesome thank you
funny how some modifiers and options helped so much with few clicks.
Mesh ▸ Clean Up ▸ Limited Dissolve → Angle: 5° (try 5–10°).
Add Modifier ▸ Decimate (Planar) → Angle: 5° → Apply.
Add Modifier ▸ Decimate (Collapse) → start Ratio: 0.25–0.35.
that sounds too good to be true. Did you check if the topology is still healty enough for things to move properly with weight painting?
its just the base part,not yet there.no bones yet.
Oh, got it
Yeah, I wasn’t getting responses in an earlier chat the day before. So, I’m posting until I get a response. Thank you. 🙏🏾✨
We’re making custom clothing and avatars, but my creator is having issues with optimizing her designs for vrchat.
I'm curious what you mean by optimizing the designs for VRChat?
What about them would make them not work?
reducing poly count? too many materials? specific shaders too beefy for quest? there's lots of factors in optimizatoin
Thank you! 🙏🏾✨
Let me follow-up on this and get back with a specific answer.
the official documentation also has lots of great general-purpose tips! :D
https://creators.vrchat.com/avatars/avatar-optimizing-tips/
This guide is not meant to be the end-all, be-all of avatar optimization! Optimizing your avatar properly requires pretty wide knowledge of a ton of things. We don't expect everyone to know everything.
which program are you making them in? theres also various settings to make retpo processes a bit easier depending on what it is and the workflow
@vapid bluff @stoic flint @wind heath it seems to be related to having the clothes rigged online and to the avatar. I can across some videos and articles, and will give it a try. If we run into specific issues, I will come back to the avatar rigging channel to ask.
Thank you!
you are not the first nor the last person to think that just because you can run it means the entirety of all hardware can run it
what that vrchat knows what optimizations are required for the minimum hardware?
you dont need over half a gigabyte of memory for an avatar
thats literally only possible if you actively refuse to optimize
no?
ah so you are this kind of person
"bigger number better"
public chat
this is a public discord
I clearly know nothing despite doing this since 2018/2019
Yes it does.
you literally said that
Crunch isn't a silver bullet, it just hides the problem
<@&397642795457970181>
<@&397642795457970181>
and blocked cause the dip shit decided to get pissy
that's bit... ye scary lol
@mystic crescent
gotta love when a toddler throws a tantrum because he cant have his 2 TB avatars
so true 🤣
Does this person expect every avatar to be 2TBs and run fine in any world?
I am feeling a little dumb on optimizing poly counts on my model. I'm planning on adding a violin prop, a bow prop, and a mic prop. As of right now, I've made the violin in Blender, and I made a low poly box that fits around the shape of the violin. The goal: make the box have the textures of the violin at different angles. Method: probably orthographic camera shenanigans? Problem: how do I align the cameras to be perfectly in line with the face of the low poly model that I am trying to get a picture of?
Afterwards I can add the low poly violin to my model and not sweat about poly counts much
There was some magic tech that i seen i think tupper use, originally it was meant to turn distant scenery into a few planes, that was a barrel avatar that did sorta that. One of googles cancelled projects qq
Looked exactly like a barrel from further than a few feet, very obviously three planes up close
Pretty sure you are talking about imposters, it is an approach to rendering that has been around for a while.
But for an imposter seen up really close you'd need really high resolution textures, so not really viable in this case.
This was yeaaars before imposters, i think 2021
Imposters have been around for years
Years before imposters
Imposter - years
Really cool barrel avatar hmm, ill never find it
I am talking about the general approach itself, like this from 7 years ago https://github.com/MaxRoetzler/IMP
Sadly the gif showcase died at some point recently (could only find still image, all are a single plane and the video is unrelated from another solution), but you can find the tech in many places, Amplify Imposters and various automatic LOD tools.
So I am getting the issue where there is WAY less memory being used by my avi than what VRC is reporting, using the thry tool for optimization- I get this. Anything I should look at to fix this?...
seeing that scroll bar, that's a huge amount of textures

yeah no wonder it's 255MB
Thats all 4k textures lol
💀
2048x2048
You do realize texture memory is the total memory needing to be loaded when your avatar unpacks right? Not just whatever your single toggle is showing
Like the entire avatar gets put into memory
2к
2k is still not great
isn't 2048x2048 4k? @lost patio
Thats 2k
4k is 4096
2048x2048 is 2k pixels horizontal and 2k pixels vertical
ah, my bad
4096х4096 is 4k
for VR this is often not even enough
all i see is a crunch bomb , not fun to unpack
that is very incorrect
It depends on what kind of 3D models/avatars we are talking about
If you want realism, 2K textures will hardly be enough.
If you want stylization (but it also depends on what kind of stylization it is), it will be quite enough
This is my personal opinion, because I don't like looking at blurred textures
sounds like bad uv mapping
^
1k is enough for realism
just gotta have good UVs and to plan your mats a bit better
and use stocahstic/tiling tooo
Realism can be achieved with very low resolutions, the realism part depends on the shader and what textures you provide
One 2k texture on the albedo is going to be less realistic than 4 1k albedo, metallic/gloss, normal and emission textures
art is subjective, 8ms processing time for 40 avatars in a world is not.
who honestly has 40 avis on tho
when you nearly can guarentee 90% of those are hyper very poor anyway

this is like gpu 4090 problems

me usually, though I do use a download size limiter
what is it?
ah, yep.
i figured it out, forgot to delete the fx layer from the full avi
and my only active was only 56 mb so i was fine xD
Hi, when i atlas my textures the normals disapear, how do i stop this so i can add my normals too thanks!
Use another technique, such as manually atlasing. You're using material-combiner? Last I looked, that only did the base color texture, not sure if it's been updated since.

mirrored UVs
and muliple UVs, for specific higher detail stuff

"realism" isn't defined by texture resolution
I removed 5 contacts by doing CURSED things. I hate it but it brings the avatar to good rank
- Use humanoid feet contacts as senders for talon <-> floor distance
- Combine a bunch of senders for angle measurement into a single sender, using local constraints to move the receivers to get the same results
Before and after

Does anyone use d4rkAvatarOptimizer? I got given an avi unity project and I wanted to compress it.
d4rkAvatarOptimizer worked great! I wanted to use it on another project file and for some reason, when I add it it has tons of errors. I added the add on the same way on both programs. Any idea why it might not be working on new Unity projects?
send a screenshot of the errors that're showing up
murphy's law....
I made a new project and it added the optimizer, no errors...... so. I no longer need assistance??
3rd times the charm I guess....!?
This is only tangentially related to avatar optimization, but is there a way to clear out the junk data Unity leaves in controller files as they evolve? I manually pruned a .controller file i've been working on for a while in a text editor, and ~25% of the file was dead blend trees that Unity didn't remove after they had been deleted in the animator window
Use controller cleaner from the “rehosted” section
oh right, I was going to grab that for exactly this reason
even more unrelated to avatar optimization: it is a tad frustrating when the only way sites offer to add a repo or package is a vcc:// link, particularly because VCC isn't available for linux
vpm add package dev.vrlabs.controllercleaner
or use alcom, it works great.
(I'm a linux user also)
i added it but it's just tedious to have to take apart the link to add the repo, then go to the json itself to get the package ids
yep, totally agree - in most cases it's easy, the vrlabs site makes it a little hard. I got this by hovering over the link though 🙂
also the vpm tool is exceptionally awkward and inconsistent.
that too
in 2023 i opened what has now become the most active open bug ticket for vpm by more than 2x the next runner up, lol
haha which one?
oh that one
at this point I've mostly written off vpm as being a half-assed tool. I use it, but alcom is the right answer.
they ought to just open-source it so we can fix it
I'd never heard of alcom before you mentioned it a few messages ago, i'm gonna check it out when i have a bit more time
it's a cross-platform GUI replacement for VCC that also doesn't suck 🙂
Any advice or way to swap a texture on one material?
Without swapping materials?
I've already used a UV atlas setup for a small prop, but I think that'll be more tedious for something like clothing
I use uv atless, and met swaps on one animation
Uv atless for changing texture, so i can do colour pallet/texture swaps. So say i have a 64px by 1024px texture, that I map the offset accross at certain values, where ive got multiple textures onthe one sheet.
And I use meterial swaps for lighting changing, where i have one long animation, and every frame is changing the meterial out with another (matcap swaps or diffrent mets alltogether). Then use a float wheel to change it ingame on the one long animation
Having these be seperate means i can mix and match meterial swaps, and texture swaps! Say i want blue lighting with a purple colour pallet. I can have like 32 colour pallet swaps, and over 20 meterial swaps, and it will all be under one meterial slot ^-^b
(then thow in a hue shift wheel, and its super customisable, mixing any texture, with any meteral, with any hue shift!)
Well yeah like I said, the issue is that I'm working with a 1k shirt texture, I wouldn't mind shrinking it down to like half if it means more options
Yea, if wanting to do it, you'l probably have to shrink by half
Doing that you cna get 4 swaps out of it while the texture is just its original size ^-^b
I could keep it at 1024 just so I can have abt 16 different options
I'm pretty used to UV nonsense
Question so my Avi is stuck around the 500mb uncompressed size and I have about 400 something mbs of texture memory, is lowering the texture resolution on the high stuff all that needs done? Also is 21 mbs for the main body’s texture a lot or is that fine?
you could also reduce the number of textures
that is an insane size to reach... other the lowering texture rez removing unused blendshapes is another quick-ish fix. atlasing textures if possible and merging the materials, seperating some toggles onto a secondary version of the model are some other ideas to lowering the size but require a small bit more work.
My mesh size is 84.82 MBs, is that bad or?
imo yeah but im also a bit biased cause i like my avatars to be medium rank at worst :P
Def not great, usually a high mesh size is because of a lot of blendshapes, might be worth seeing if there's any you don't need and removing them in blender
saaaame
Yeah I do have quite a few blendshapes but most are in use, I’ve cut down on unused ones
How would I go about doing that?
combine materials in some way, could be atlasing, could be baking to a new UV map, could be making a whole new texture.
Are there any videos on how to use anchors or what ever their called…I feel like that’ll help trim some unneeded stuff
Like the probe anchor in the mesh renderer?
Uh I think mesh? The one to change an item’s position and what part of the avatar it moves with
constraints?
giggles
When I optimize my model I'm thinking of:
Reducing the amount of skinned meshes (seperate non grouped meshes). For clothes you can set up shapekeys to hide them or an animation that toggles the alpha on and off.
Tri count. You can get away with a lot with at least 50k, it's just being smart with your model's topology.
Being generous with your texture sizes. You really don't need 4k textures, 2k or 1k is enough, the game compresses the textures anyways.
Materials, if you take into account the first thing I said you can actually reduce materials and still have the same amount of features.
Most importantly people need to take into heavy consideration that this is a video game. Many people will complain a game is laggy or unoptimized, but with a game where the player can create their own content the blame can and will be shifted on to you.
There's my TED Talk hope y'all liked it.
i wish that my texture atlas could work
what is the cost of 'constant' blend tree branches for maintaining animated param state? I have a list of params that need to be maintained, but I know very little about the performance impact of this stuff
some info on that here: https://vrc.school/docs/Other/Benchmarks#direct-blend-trees
Ah, thanks. I reference other pages on that site a lot, but somehow never noticed that one 🙃
it's full of techy stuff most people don't care about 🙂
Is linking clothing on blender better for performance than VRCFury?
In what way?
fury does it in the laziest not actually optimized way
Cause I honestly am thinking of just doing that
it doesnt remove bones
So it increase bone counts?
significantly
Tho in the future if I want to remove the clothes I can just delete the mesh and no issue will arise?
every piece of clothing if its the full armature multiplies the armature every single time you add something
yes
you can delete meshes freely
hmm
and in blender delete only specific parts
Sounds like a no brainer
fury is mostly for people who dont want to or dont know how to do it in blender properly
I mean you just use cats no?
I personally dont but you can if you want
Is it doing it properly?
if its clothing built for the avatar base with identical armatures (which it would or else fury wouldnt work)
then you can just import the clothing then reparent it to the avatar base's armature then delete the old armature
cats isnt required for that
I wouldn't kow how to do it without cats honestly
its literally ctrl p
its quite literally how you parented the mesh to the armature to begin with
Would assume you select the armature you want to merge and then the base armature and then CTRL P?
just that you just reparent the clothing to the base avatar armature and delete the old armature
no you select the clothing mesh then select the base armature and reparent
delete the clothing armature after
or before
Is that gonna merge the mesh? I hope not
doesnt really matter as long as you eventually parent the clothing either by object or with empty groups
merging meshes is ctrl j
aka join
Alrighty then, thank you :D
which is another way of doing it
Would assume the less mesh the better also?
Cause for example I have fishnets, but they have different type and one mesh that is just all of them and you can hide them with blendshapes
yesnt
If I am correct the optimize way would be to actually remove in blender all the one I don't want to smash it up in one
so I could remove some
cause less meshes mean less draw calls
technically unless they are separate materials
They are all the same material
blendshapes affect the entire mesh not just the vertices you moved
so less optimized there technically
but generally less meshes is better
especially when using stuff like tile discarding
Yea these fishnets does use tile discard
I am thinking of just grabbing all the one I use and put it together in one mesh in blender and then smash it up on my avatar
Any info if this could work well?
it does - it's got limitations though
What type of limitation?
Yeah
why is it that when i reduce the size of my textures/my model's tri count, the download size stays the same? im trying to get it under the 10MB threshold for quest compatibility but no matter what i do VRC SDK says it has a download size of 11.35 MB
also it says i have 17 materials when i only have 3 (duplicated because thats both the blender and unity versions)
make sure you're attempting a re-upload when checking the size, as for the materials does your model have animations for material swaps at all or are you adding anything onto the model during upload via something like VRCFury?
yea i try reuploading and i dont have anything thatd add further materials or material swaps
did you check the material dropdown on all the meshes the model uses to see if theres any non-merged/hidden materials on the body?
im not sure thats a very cut-off screenshot, you'd select the mesh and hit the dropdown in the inspector listed as materials, it should list all the shown/used (outside of animtions) materials on the model
also have you tried removing unused blendshapes on the mesh to lower the model size? (maybe look into thry's avatar performance tool to find out what could be taking up the most space)
ive removed unused blendshapes, meshes, materials and textures from my blender scene
ill look into that performance thing tho
theres nothing in the inspector that lists 'materials' in a dropdown, just individual materials for whatever that mesh uses
ok well the performance thing says the avatar is good so idk
are your meshes not merged then? it shows for me once ive selected my mesh, also id try saving and reopening the project the materials thing might be a bug if theres really no animations in the model's stuff that'd switch the materials
Gonna be getting into making my own avatar from scratch next year. So.
I need tips on optimization.
To give you a basis of what I know.
Make sure textures aren't a ungodly resolution
And make sure that my polygon count isn't so high you could turn it into a line and wrap it around the sun until it blots it out (weird analogy I know.)
Aside from that I know sweet Fuck all else.
As far as it goes I'm basically going feet first into avatar creation from scratch. (Yes I'm well aware this is a dumb idea but I have to learn some how.)
So. With that being said.
Any tips, tricks and overall good things to do for making sure this avi is well optimized
im blind as hell i wasnt looking at the mesh renderer
anyway i combined all my meshes into one, but i now cant move the vertex groups individually so im going to have to work on that tomorrow
make sure you dont over use transparency like a mad man and if you get around to needing lights for whatever make sure they are baked
that made me think of the remote from garten of banban 💀
184,332 triangles
they had
which is seen for the entirety of the game…
wtf
garten of banban has TERRIBLE optimization its really funny to look at the models all have like literal millions of triangle
I don't even think they have much or any optimisations
their game, just as with 90% of unreal engine or unity HDRP indie games, rely a LOT on engine automation like nanite and lumen to do all the graphic and performance work without them having to lift a finger
they're pulling out games as a super fast rate because they have unreal do the optimizations for them, so they just need to do raw sculpts, rig them in like 3 minutes and build scenes using primitive shapes and flat colors with maybe some decals
not like those engine automations are actually any good
Lumen absolutely wrecks performance
yee people usually use too much lumen cuz they don't want to bake lighting and nanite cuz they don't want to have proper meshes
But nanite only really works for static objects…. All the most highpoly objects in their games are not static. 😭
And looks like bad
Is there some way to use the VrcFury+ModularAvatar optimizations for the PC version of the avatar? If I manual bake then upload that version, it completely messes up the graphics
so im trying to make a fallback, does it say that i can really have 4 phys bones? since it says "It must have a Performance Rank of Good or Excellent per the Android/Quest requirements."
ive never seen a fallback with phys bones so i wanna verify this before i get my hopes up
and for the fallback, can it be diffrent versions of the model for pc vs Q2?
yes fallbacks can have components
it can be different versions, the only real thing that matters for fallbacks is that both pc and quest good ranks are under the same blueprint id
Yup, mine also has physbones
Snek?
are direct blend trees a good way to optimize your animator layers?
i just discovered that they exist, and i feel like i could combine so many of my layers with it
yup and its faster less messing with transition (but blendtrees not fun when you want to do more then a simple thing)
Yup, I use them a LOT, like 90% of my stuff is in one
nice
i bet i could do the same too, have a lot of toggles that are just simple things
i found out about them because i was looking at the vrcfury components, and saw the direct tree optimizer
Great doc on this, if you haven't seen it: https://vrc.school/docs/Other/DBT-Combining
Theorically. If 80 people in a lobby have the same model. Will the vram amount change drastically from 80 different model in a lobby?
I don't know the technical details so I can't answer.
I'd hope that they would share resources though, instead of loading it 80x into vram lol
depends. If it is the same public avatar, then they can likely share resources.
If it is the avatar separately uploaded per person, then most likely no.
something tells me that unity will be smart and detect when an assetbundle is cloned, but that'd need to be tested first, for now i'll just believe that each avatar is "encapsulated" as its own bunch of assets
Is there a simple way to do platform-specific mesh decimation via NDMF? If possible, I would like to avoid using per-platform overrides to avoid having to juggle two copies in-editor, since I have multiple avatars that need this treatment.
I made a prefab that contains a bunch of optimization components already configured so that I can use similar settings across multiple avatars; I do have Meshia Mesh Simplifier available, but I'm not sure how to target two completely different polycounts from the same asset.
EDIT: VRC Quest Tools has a "Platform Component Remover", I'll try that out and report back here.
EDIT 2: As far as I can tell, it works. In editor and on Android, it looks like the decimated version. On Desktop, it's the "real" version.
how can i atlas my textures when i use normal maps?
i know of https://github.com/Grim-es/material-combiner-addon but that only does albedo
i tried using tuxedo plugin but it failed
tuxedo needs blender 4.4 otherwise it'll fail, works fine there
:)
ok tuxedo is a little broken, i added more materials and the bake output is broken
how do i manually atlas? the only tutorial i could really find is from tupper from 8 years ago and it seems the mentioned addons aren't a thing in blender 4.5
https://youtu.be/_U8lkyVKTAU some tutorial , know how to manually bake and stuff myself but explaining it , not so much 🐇
In this video tutorial I show you how to use the baking system in Blender 2.8. Especially in this episode you‘ll see a solution for baking the alpha channel to display transparent textured objects. Alpha channels won’t be calculated automatically when it comes to baking textures in Blender 2.82 or before versions, but I’ll show you a smart...
I use matcombiner and then just add/move things after to speed things up
yeah i don't want to use material combiner because it only does albedo iirc
and i also want to understand how it works
Hello how do I lower the phybones transforms count on quest with out useing this phybones I'm useing VRfury I tried the other optimizer that does that for you but it doesn't work because I have VRfury components any idea how to do this? For quest -
Physbone transforms count is literally the number of bones in all the physbone chains. Reduce that.
with...?
with what exactly?
If you're doing things in blender you should be able to do some retopology to reduce the triangles, cats has material atlas tools to reduce materials, and you'll need to compromise on the number and locations of bones
skinned mesh rendereds material slots and triangles
skinned mesh rendereds material slots and triangles
anything for unity itself
thats all blender stuff
Yeah, reduce material slots in Blender, reduce skinned mesh renderers by merging mesh objects in Blender.
there are multiple skinned mesh renderes. likely clothing?
If so, you may want to make multiple avatars (same base mesh) with a different set of clothing on each.
so you spread the load.
Depending on your visiual goal your values are not that high. I have seen avatars with a poly count in the millions, but with good performance
where can I find tools tot optimize and lower compression and mb
for my avatars
is this the right chat?
Thry's avatar performance tool is good for figuring out what parts of the model are taking up the most space
and VRCFury has a blendshape optimizer script (idk its actual name) that'll remove unused blendshapes on upload
manually lowering texture resolution size is another quick solution to cutting back on avatar size
Thyrallo's avatar performance is a good tool
D4RK avatar optimizer is good too
Vrc fury Parameter compressor
VRC multi-parameter cleaner
And using anything that isn't poiyomi shader helps
on the skinned mesh render component can this safely be turned off ?
i dont see a difference and if it saves performance then pog ?
This is used for motion blur, i don't think it'll have any significant performance impact so i recommend you leave it on
I could be wrong but I can't find any documentation that vrchat support it or make use of this
it's not a vrchat feature but a postprocessing effect, the motion vectors indicate at which direction the image should be blurred
yeah but dosnt skinned motion vector use TAA which isnt a thing on vrc ?
i believe it's the opposite, where TAA uses motion vectors, motion blur is supported on vrc even if only in desktop, and that requires motion vectors to work, disabling it will have no impact and will look wrong with motion blur, it's like disabling mips on a texture
vrchat uses msaa no ?
it can use MSAA, FXAA, ant the other AA whose name i don't remembr
yeah the only thing i can seem to find is vrchat uses msaa which then it would make sense to turn skinned motion vectors off since it cant use the taa anyway
but nothing official confirms its msaa
msaa is not related to motion vectors
The literature you are looking for might be around 'forward rendering post processing motion vectors unity'
what do you try to say w this
it clearly says MSAA doesn't use motion vectors
yeah but my original question was if motion vectors did anything or if its safe to disable
you said to leave it on
so with this in mind turning it off will do nothing but save some performance ?
motion vectors are used by motion blur and disabling them won't have any performance improvements, you will appear incorrectly in any vrchat world that uses motion blur
yeah but if msaa dosnt support it then turning it off will do nothing right
i've turned it off on my avi and visually i noticed no difference both on vr and desktop
msaa has nothing to do with motion vectors
motion vectors are necessary for motion blur, msaa has nothing to do with motipn blur, it's something completely different
do not turn off motion vectors, there's no reason to turn them off, everyone has them turned on and there's no vrc related documentation anywhere that suggests you turn them off because if you do your mesh will render incorrectly with motion blur for the cost of zero benefits
again, msaa is not related to anything, it has no connection to motion vectors, don't disable them, if unity has it on by default and no other person turns it off, it's because it has little to no performance cost
can you provide any documentation for this because i cannot find any, and the few people i do know that work in the game industry both say they are pretty sure vrc does not use this
but i am courius tho, you mention mesh will render incorrectly, how would it render because the worlds i've been to both desktop and vr both render the same with it on or off (motion blur ON and OFF)
So uh
how does one handle glasses on quest avatars with the lack of transparencey? do you just not have lenses?
so if i turn it off my avatar will not be affacted by blur ?
yes
i can't say if it's the sdk forcing things on as with layers or the blur happening in camera space too
still, disabling it won't improve performance in any way
Idk if this is the right place to put it but
I am trying to make my avatar quest friendly, I’ve changed everything besides apparently 1
I can’t find it anywhere
308k isnt quest friendly
you are 30 times over limits
surprise if security check doesnt smack it
waaay too much on that avatar
I was gonna save that for last because I don’t have to look for that 😅
well look as hard as I currently am for that one standard shader
could be a particle , you can use something like vram checker to see all materials on avatar, then just click to find it (maybe)
Alright, thank you ^~^
You can also sort by material in your project folder by clicking the little shape next to the search bar
And just click through all the mats in your project to see if any aren't VRC
Some People told me that a Light on a avatar can be set to "Baked" And this would increase the performance.
I personally don't think this is true, because The Light is not truly baked, without beeing baked in the editor (lightmapping and such)
furthermore a baked light would only light up "static" objects or objects with have lightmaps
that is a load of bs as the baked mode would only be usable for baking Lighting in Worlds
yeah thats also what my knowledge is.
A light can be set to baked, but its still realtime (because its not baked into the world)
hi does any one know the limit total vertices for android?
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis of the components on that user's avatar. You can also use it on yourself to see how performant your avatar is.
Is this the channel to ask for help for the "review any alerts" tab on vrcsdk, im very new to this and just want to optimize my avatar for at least the pcvr ver then quest ver if possible :/
if they're optimization-specific, sure, otherwise #avatar-help probably
optimization specific as in how to use polytool/d4rk to lessen the poly or sum else? okii
tyy
I don't think d4rk's optimizer reduces poly count, but it can merge meshes and remove unused blendshapes and such, which will reduce download size and vram usage as well
It can reduce by removing unused components and via the blendshape removal
ahh
But i use https://github.com/anatawa12/AvatarOptimizer to cut parts of the mesh for my optimized versions
Dude I'm not sorry anymore this is just unexcusable
1 and a half MILLION tris
And like at least 6 of these folk on the game all the time
in the same instance
There really needs to be a hard limit for this stuff on PC
Because it's very clear that people playing this game that upload their own avatars from a base, they don't understand that this is a video game and as such their assets need to be optimized so other people besides themselves can run let alone see it.
At least some settings (be it config.json) where we can limit and performance block such avis
Would be so nice
Would also basically kill most mesh crashers :)))
I cap my shit at 250MB Texture memory and 100MB download size. Anything above is performance blocked. Avatar too unoptimized? I don't wanna see it.
If few people are around i can also show the avis but a...
I feel you xd
hello random egirl with like 20 different outfits you never use
same egirl is one that puts "sexually suggestive" expecting to be allowed to go full nude
But but but now you cant see my scythe with 5 mil tries 😭 😭 xddd
It's really annoying because due to the sheer magnitude of unoptimized avatars more people are inclined to have avatars blocked by default and as a result my avatar is never fully seen even though it's umm
I was able to barely edit my PC mesh for quest because I'm just that good at optimizing for video games
not to mention not using 4K 8K textures
Or that I'm not using a million outfits
bUT My EYes NeEd To Be 4k
NOO THEY DON'T random text to not trigger dyno bot capslock :))
Reminds me of this
-# this was a crasher
Like fucking 1 oct bounds
How
Why is this allowed
me unironically with a scythe that is only 808 tris
🔥
I feel like it would be smarter to just upload different versions of your avatar with seperate outfits, that way you CAN have a lot of outfits but it's less load on the GPU
yea but then these people argue "but but but but I dont wanna load hundreds of the same avatar"
that or they "dont wanna fill up their uploads" like theres a limit or something
Would you rather download like 10MB a handful of times or 300MB most of the time

hard limits kills creativity
You can work around! Didnt stop game devs since like the early 2000s
Also you should see the quest limits
PC would definitely get more leeway but I think it should hard cap at maybe 80k verts
I have a feeling that you don't really understand that some things may require much more than that number
80 is reasonable for general stuff and isnt too far off from some of the performance rank limits already set
Polys aren't even the issue on modern hardware
precisely
but for some reason, many blame them specifically
the biggest hit to performance is textures and shaders
VRChat is a video game
but not as hard limit
and?
And youre right, its moreso skinned meshes and material count
it doesn't change what I said
Video games should be optimized for a wide range of specs
Especially a game like vrc
80K is pretty high poly
I'm not denying that, I'm just saying that some things may require more than you said,
and hard limits may simply kill the possibility of these things appearing in the game
its mid value
Theres workarounds, morr effecient retopo for instance
You have to consider that theres multiple avatars with this poly count too, on top of knowing that not everyone has high end specs, even on pc
Plus on vr youre rendering this all, twice
On top of people wanting their entire fucking closet built in with all those materials
Its a lot on the PC overall
The game has security levels for a reason
If you dont want to see poorly optimized or heavy avatars, just hide them — the developers and the game itself give you that option
Thats exactly why hard limits make no sense

Mind you Im on an rtx 4080 with good ram and cpu and I chug sometimes
Yeah but that "creativity killing" is in the form of everyone being malformed jpegs of their avatars or robots because you kinda just preemptively block all of them due to poor optimization
Bro, I play vr on a gtx 1660s and an old Intel cpu, and Im not complaining — I just turn off the people who cause lag or crashes
But now you're turning off other's avatars, avatars that some people actually worked on, killing the creativity
I don’t really care about that (just like 99% of people lol), since people will probably disable my avatar too
The point is to keep the freedom to upload literally anything into the game — to make that possible
Whether people actually see it or not is completely up to them

Personally, like many others, I want to upload exactly what I want into the game, not what limits dictate to me. I want to be who I want and look how I want
If the avatar you want to be can be optimized — sure, that’s your choice, and congratulations (you saved someones fps and now people can see you)
But for some, low-poly avatars aren’t enough, and I totally understand that — not everyone likes them
Thats just my opinion, and you’re free to disagree, and thats your right : )
And im not talking about e-boy/e-girl avatars with a bunch of clothing sets — there are plenty of other categories that could also be affected by these limits
You can't just turn off random People's avatars 24/7, just to gain some performance. You don't even know who causes the performance drop.
A limit or weight based system for performance ranks would honestly be better. That way, if you are one triangle over the limit, you won't drop to very poor.
You can have a medium avatar that maxes out everything and a very poor avatar that is excellent everywhere except being one triangle over.
People need to learn to optimize their stuff more, or harder limits need to be in place. Most avatars i see are very poor nowadays. I don't have an issue with that, as i know that lots can cause that rank. But if you have 3 million tries, 1000 materials and everything 4k, thats no excuse.
And that doesn't 'kill creativity'. The 'creativity' kills the game experience of others at that point.
Right now, you don't even have an option to dynamically block those avatars via safety settings, if you choose to not wanting to render them
I'd love to see your creation, but if its going to crash me or lag my game, nope, I'll take the pixelated mess.
^
-# If video doesn't load, open in web / download
Latin Gang avatars
very flashy, unoptimized, would never use in public, but still cool i guess.
also tanks my performnce from 80 to 15fps once xd
Sturggle to get this to upload not sure what I can do for it to work on quest?
remove stuff - that's too many polys, too many mesh renderers, too many material slots.
oh I see, yeah, look at all of those objects, this is definitely not setup to be a quest avatar
🧐 I see okay
Would anyone have handy a sort of cheat sheet for polycount/material slots/textures for each performance rating?
https://creators.vrchat.com/avatars/avatar-performance-ranking-system/
You can find most things listed in the vrchat docs.
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis of the components on that user's avatar. You can also use it on yourself to see how performant your avatar is.
Wonderful, appreciate the link right to it. That chart a wee ways down is just the info I was looking for ty! 🙂
I need help optimising this avatar
you gotta give some more info than that
dw someone already helping
did they dm you out of the blue perchance?
no
they asked
I'm on a vc with them
dw
ah cool cool
Ik there's some accounts dming people about an 'avatar optimizer' exe that's just a RAT
...
oops
hahahaha
thats so funny
man oh man
kinda sad if people fall for it tho
yeaah, you'd think people would've learnt not to trust strangers by now XD
Does anyone have the mesh reader to scan how much mb is on a mesh
It’s like a tool where you drag a certain mesh and see how much it takes up on some avatars
Sounds like Thry's avatar performance tools
yeahhh that
do you suppose to have that tool, if you could send that over if you may?
I'm still familiar on how to use it though I used it once and now I kinda forgot how to like drag the mesh in it
Hiya, just made my first avatar and tried optimizing using a guide but it still shows as very poor quality in game
Not too sure what to do
For reference I used d4rk optimization and VRCFury and a guide on YouTube
check avatar details to see what makes it very poor
when you click on the avatar in your menu there should be a button beneath the avatar with an "i" on it (stands for "information")
Hi so I was curious about something, realistically speaking, should you smash everything into one mesh as much as possible or not?
I feel like if you have clothing and you don't want to show it, it might cause an issue to have it all in one mesh
should , much better and you wont have wierd bounding boxes where you can glitch some people's outfit out of exsistance
toggling parts on pc is easymode, quest more work
Well since I use poi, I wanted to like hide with UV Tile Discard, but realised that Poi seems to affect every material that is on a Mesh
So if I were to Disable fishnets for example, it would disable an other outfit as well
15 uv toggles pr material , tell poi to rename shader you have 30 toggles
I am not I understand you there ahah
cause if I press this on the fishnets for example
It will also affect a complet different material that is on the material list of the mesh
matter of fact, it affects all of them
you dont want to touch the first one
you can also set another uv for discard 2 so 120 uv toggles possible one same mesh 
I'll see if I can make it work on my side, but atm I am still unsure ahah
uv0 i leave default, uv1 for shift rare i need more
in poi you can right click the 'uv' tab and tell it to rename it wont affect other materials
You talking about the Discard UV option?
extremely rare i need that ,mostly for recoloring
will only affect the renamed material not all others in mesh , but the name in animation will also change so gotto redo that
yea it's still affecting other materials lmao
I am disabling the chest fishnets and it's somehow affecting the hand of my main body
dont animate this slot it wont like it otherwise check if its the right uv
Hm
Dude theres no fuckin way
thats such an obvious thing
You'd think so but at least once a day there's someone who gets hacked that spams every channel with some crypto scam
Like if someone DMs you with a fuckin exe and you click that I'm sorry
You might be stupid
Lmao
Hey all quick question-
(Using Poiyomi) What would be worse for performance, swapping between all these materials in 2 meshes? Or using a Texture Array? (Only thing that changes is the base color, it's paintjobs/markings everything else like metalic etc stays the same)
Multiple materials are worse
ok tyty!
Hey guys, I have this issue with my avatar, that whenever I change into it, it lags everyone for like 1 seconds before loading for them, I don't know why this happens 😢 Any idea what could be the cause? All her textures are 2K only her body is 4K, the texture quality is always normal
things that can cause this: crunch compression, audio files with "decompress on load" checked
probably some others
so crunch compression is disabled on all of em, and I don't use any audio files on my avatar really
This is how all of my texture settings look like
any lights on the avatar? those cause shader compiling stutters
.... wow
I've seen much worse avatars, but I have no idea why mine lags people specifically you know
yeah I can see why that lags a LOT
what do you think could be the main cause?
LOT of texture memory, lot of polys. My settings would block this by default.
well yeah I think the texture memory might be the main issue, I already stuffed like 15 meshes into one and am dissolving it with the discard, so I guess I'll reduce the textures resolutions
hi!! does anyone here use these two
I forget how i was taught to use them, im trying to take this avatar and upload it for quest,
i tried but then the ears didn't move :( and the glasses texture was all wrong
(i correctly did it for pc though!)
if anyone could help thatd be amazing!
Dark avatar optimizer is pretty easy to use.
Click on your avatar, and add the component.
Then set it up or keep it as default and there ya go
Thanks! I didnt realize it was that simple, so it's actually already on 🤔 ill have to figure out why my thing isnt working then
huh what did you break?
so when i tried to optimize and upload this avatar for quest the glasses were grey instead of clear and the ears didnt have physics and stuff, so i tried to upload it again and its just saying "very poor", im so so unsure as to what the heck happened
If you use VRCQuest tools it might cut stuff from your avatar
It is quite agressive. What i do is, i manually optimized my avatar for quest.
I duplicated the materials, switched the shaders to toon standard and then removed some physbones and stuff until i was at my desired peformance level
I have been thinking, wouldn't it be nice to have extra data configuration on the parameters?
Motivation: Animator Performance and Better usage of synced bits
I think being able to control the "resolution" of the parameters would allow for quite neat parameter usage optimizations.
For example radials go 0 to 100 but the datatypes go
Int 0 to 255 https://creators.vrchat.com/avatars/expression-menu-and-controls#creating-an-expressions-menu
Float -1 to 1 (255 possible values https://creators.vrchat.com/avatars/animator-parameters/#user-content-fn-2 )
So there's like 150 values that just can not be "represented" with the inputs we have in game, we could in theory save 1 bit on each instance of them appearing but that's not the important part, the real important part would be that since those conversions could be done in code, that makes animators that try to encode/compress value much simpler which can potentially improve performance of avatars with stuff like that (for example avatars with face tracking)
It also allows creators to have a second way of handling "exclusive" toggles since you don't have to use states and parameter drivers while also not wasting sync bits you can convert a lot of the exclusive toggles in optimized blend-trees reducing the number of layers and transition conditions which could potentially improve performance of avatars as well.
For example, a torch that can be on the left hand, right hand or head, you only need 4 states here: Off, Lhand, Rhand, Head
Options:
- Currently you can optimize for parameters using a parameter driver on each state turning the other bools off each time you turn one on (requieres a layer, and transition conditions)
- Use an int where you can convert all into a single blend tree and using the parameter itself to create the exclusive toggle using 0 as Off, 1 as Lhand, 2 as Rhand, 3 as Head (which needs only 2 bits) (this doesn't need animator behaviors at all)
Knowing that performance on the game is mostly Animator bottle-necked moving all that logic out of the animatiors could be an interesting experiment
This document requires knowledge about Unity's /Documentation/Manual/AnimationParameters.html">Animator Controllers and /Documentation/Manual/class-AnimatorController.html">Animation Parameters.
You need basic knowledge about /Documentation/Manual/class-AnimatorController.html">Unity Animators to use expression parameters in your avatar's animators.
Honestly very likely is a stat that is not measured there
Very likely it's the animator complexity
Why do bones that have zero weights on any mesh contribute to the bone count? They are essentially just gameobjects(?)
Because they are bones?
so, suppose for some reason I wanted every bone in a chain to have an additional parent (this probably sounds silly but there is a constraint setup that needs just this!)
if I export the bone chain with these additional parent bones, they contribute to the bone count
however, if I unpacked the prefab and parented every bone to a new empty game object, it doesn't!
The only difference between an empty gameobject and a "bone" game object with zero weight is that SDK counts it differently, but neither add the performance hit that bones with mesh deformation do
but it seems like this isn't the SDK, its just counting the bones in the skinnedmesh renderer component that unity itself is assigning
do you actually have so many bones that this is a real problem?
indeed! I have an ususual setup that is essential for the whacky animation tricks I like to do, via constraints
interesting
a while back I made an avatar that could "add" motion to the avatar's pose no matter the tracking, which allows for all sorts of goofy things to play around with while still having full control of your avatar's pose
haha that looks great
unfortunately, doing this requires duplicating entire branches of bones, which function as nothing else other than game objects, no mesh deforming
I do a lot of twist bones and a full digitgrade leg setup so I'm familiar with this kind of stuff, just haven't got near any limit yet
Wait you made this creature?
I plead the 5th
Tis a beautiful creature
Goofy goober :3
Is there a guide on how to start with optimisation? Looking to shave off like 16mb at least. But I have no idea what the biggest files are. I'm guessing my best bet is to just split the avi up in 2 versions with different wardrobes though. But would be neat to just have 1
textures, textures, textures, blendshapes, various tiny other things.
but yes, split it up.
I'm guessing texture max MB 150 is the actual hard cap right? As other alerts for like particle counts and phys bones are above max as well - but does not seem to be preventing builds/publish
limits are listed here: https://creators.vrchat.com/avatars/avatar-performance-ranking-system/#mobile-limits
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis of the components on that user's avatar. You can also use it on yourself to see how performant your avatar is.
I think I'll just stop while I'm ahead. I updated a texture to suit my preference a bit more - and that worked out. I shall forget the mirror for now. 😄 Appreciate all the info and assists!
Does animator layer count matter more than what each layer is doing?
For example, almost all my layers would be non-looping animations, but I may have 50 layers (From VRCFury)
it can, more layers = more processing load. fury will combine stuff like that though
@lethal oasis This is where you'll get the best support.
But generally, for Skinned Mesh Renderer reduction, a Unity plugin named D4rk's Avatar Optimizer is great for reducing this. It can also clean up reused material slots among many other things.
some1 in help told me cats etc but yeah that bugged
CATS is often a bit of a catch-all assistance tool people mention.
I don't use it and I wouldn't ever really.
For people who use Blender very often it's never truly helpful.
For Triangle Count reduction, there's 2 methods. 1: Remove faces beneath clothes by manually selecting faces and deleting them in Blender. 2: Face Reduction. Either by hand or by algorithm IE decimation.
Your avatar however likely uses alpha-cards which aren't supported on the Quest.
Which means you would have solid color squares covering face elements for example for bangs.
That doesn't look like alphacards.
i just wanna be a cute elf on the internet u.u
May I see the existing topology?
hey no worries ^^
Any assistance I write here helps more than just you, so.
idk how to do that this is in the character unity thing
In the Unity Scene view at the top you'll see "shaded" as a dropdown.
There's Lit Shaded, which is similar to the final render ingame, there's unlit, where doesn't tell the shader to render any lighting whatsoever, there's wireframe, it's only going to show the triangles, and Shaded Wireframe, which shows both Shading and Wireframes.
Notice the little 'matball' next to "2d"
When I specify 'scene view' I'm referring to the tab named 'scene'.
It's a child of that tab
OH thank you (and thank you for being patient with me ;;)
its VERY MUCH a focus on face and not as much needed for the optimisation ig
cuz stream avatar
So for a phone it's important to remember what your goal is.
Let me grab an example.
i have a vive and a quest 2
A Quest 2's base technology is that of an Android Phone down to using the same internal settings application that modern Android phones use.
i will prob set up a vive but its more an i dont want to inconvenience others
thats why i wanna optimise
Right so you'll need to get more comfortable with 3D applications.
im pretty shy and intimidated by worlds with other people still but yeah
They seem spooky but they're incredibly formulaic.
They're just a set of principles that all follow in a line, you learn one and it makes more sense for other concepts. Learn them in order and you know 3D.
They're all selfteachable, aggressively self-teachable.
more after my burn out in 2017 ish i havent touched any 3d software, specialised in 3dsmax, and since then brains big sad and turned off and ive gotten alot dumber and struggle more with learning
but im trying to learn the best i can
You'll pick it up quickly once you get back on it if you have used 3DSMax.
Blender is very easy to learn and the people who claim otherwise are often people who expect it to do things for them.
If you've ever learned 3DSMax in your life you're well equipped for Blender is what I'm saying.
Even if you don't remember a single concept.
if i make anything anytime soon its gonna be either props or a low poly model or maybe even a voxel model
My suggestion? Skip all of the concepts you have in your head of what a model looks like and instead learn fundementals.
Topology.
If you learn Topology which isn't too difficult to learn you'll be ready for anything.
So here's an Android Optimized Quest avatar.
yeah
As you can see, anywhere that there isn't some form of bending, there isn't an edge loop.
It is specifically placed to allow it to bend.
That's all it needs to be there for.
And this problem for example is incredibly common to the point that nobody will critique the avatar if it's visible.
Ye, I do environments mainly too.
anatomy scares me
But knowledge is bidirectional so it isn't an issue.
Like, for example of where the standards are for Quest avatars, this is not only acceptable but not too uncommon for whne you're trying to get lower polycounts.
when im able ill start trying to relearn modelling, didnt have a good teacher in college, got to uni and i didnt know alot about uv mapping/i didnt know how to at all
Would you like me to dump a bunch of fundementals tutorials on you?
but atm i do 2d character designs sometimes and stuff
I can find ones that aren't terrible to send.
im starting at a jewellery school monday so ill be learning jewellery cad etc so if im not overloaded from lessons and streaming ill make some time to learn blender again
audhd is fun when trying to learn on top of long term big sad brain shutdown
Believe it or not, CAD models can be used quite well if you're comfortable making a basic lowpoly 3D model and using software such as Substance Painter or Marmoset Toolbag to 'bake' the detail to a texture.
The idea being that you model a super highpoly version, like a ubercool amazing gun, and then model a low quality version 'overtop' vaguely maintaining the silhouette.
Lowpoly's only care is a good UV map and the minimum amount of triangles required to support the silhouette.
i remember the days of baking x.x
Baking is incredibly fast now.
Don't really worry about it. It's beyond simple anytime it's needed.
It's not close to a headache anymore.
its more tech gives up around me like ive broken 3ds max in ways even the devs didnt understand
some1s telling me that my models optimisations fine
but idk i feel like it being red and very poor Dx
I feel it's more of attempting to 'follow through' with patterns that leads to ways the developers didn't intend.
As that's common in AuDHD to notice patterns and try to assume the rest before whatever you're looking at has revealed the rest of the information.
omg birb
is there a avatar performance test world?
anyone here know how to make a texture atlas using UVpackmaster and Simplebake? I kept running into issues when I tried to do it so I just used CATS to do it for me but im not really happy with the resolution.
use the matcombiner tab not the one in cats and it will be 1:1 to the orignal textures
tested some packers but they arent fun when you have to make masks, so i tend to atlas/manually it
I do this with Simplebake often - but at that point it's not really aliasing so much.
You make a new UVmap called 'SimpleBake' on all objects, rearrange the UVs to fit within the 0,0-1,1 tile and run simplebake.
You can use packmaster or any other packing tool if you want, it'll simplify the rearranging.
I generally do my UV arranging manually for avatars but almost always use packmaster for world props
ah
btw anyone know why my avatar shows up as a good in the editor and when uploaded as an test avatar but randomly doubles it's polygons and quadruples the material slots when uploaded as an acutal avatar?
not sure why it'd quadruple material slots
is this a bug? i've never had anything like this happen with any of my avatars before
think I figured it out, some sort of animator issue
No but you just gave me an idea
button that clones your own avatar 50 times to see if it crashes you?
Anyone know good tools to optimize Kikyo and her various outfits?
VRC is blocking my uploads of her for Texture Memory or something.
Means you need to decrease the resolution of your textures
Yeah, I tried that.
I tried 1072, and even lower.
It wouldn’t budge :(
Iirc you can use thrys avatar performance tools to see estimated texture memory size
Do you happen to have a link to its page?
Can someone help me with uploading avatars? I swear everytime I purchase a avatar that is quest compatible I always have issues going over the 10mb limit? and on this avatar I have I cannot get below 10mb. I can't get it lower than the 10.4MB. It already uses blendshape optimization and I have downscaled all textures to 256 and below? Using thry's it seems all the assets are taking up most of the space but I am not that experienced and have no idea of how to go about making the assets smaller? I can't get it below 10.4 mb
how do you go about deleting blendshapes and meshes? and how would you know what is unused?
with meshes you'd do that in blender, blendshapes would also be done in blender but VRCFury has a blendshape optimizer script which removes any that arent used in any animations on the model. as for finding out whats used and unused you'd kinda just have to go through each animation for the model
if you're already using the blendshape optimizer though id just ignore trying to manually fix it since it looks like thats not whats causing your issue (thry's tool wont update based off VRCFury scripts since those dont take effect until during upload)
Does vrc use Multi-Pass rendering or single pass?
On Quest it is SPS-I (which I think is just called single pass instanced in current Unity), but neither on PC, assuming you are talking about single pass instanced (SPS-I), which is the only single pass rendering current public Unity supports, but VRChat got Unity to port the worse single pass stereo (SPS) forward to this Unity version because moving over to SPS-I on PC would break every unprepared shader and apparently even with years of heads up that wasn't enough time so they scrapped it.
ahhh gotcha thank you for the detailed reply
Okay so I watched some videos on getting an booth model to work in VRChat using the VCCompanion and Unity and SDK and it seemed doable but when I try it I got a ton of errors preventing me from actually uploading even though the test model works for testing

Now there is some stuff online about fixing the bone errors and mesh errors and mateiral errors but I feel like I spent what little IQ points I had on the previous steps already
And If I just delete the things when clicking "select" on the alerts everything just liquifies onto the floor or something
feel free to present those errors in #avatar-help (unless they're specifically about optimization)
Sure thing I figured it fell under optimization since it worked in test but seems to have a stricter critera to be allowed to actually use outside of testing
But I'll go to #avatar-help alrighty
Yo people I've gotten my avatar to green apart from bone count which is poor performance. Every time I try to remove bones it spaghettifies in unity. I am using CATS to import/export. Is there a specific way to remove bones that isn't selecting and deleting them or that could fix this issue?
First of all, don't use CATS like that, especially if older versions that almost intentionally mess things up.
CATS is good for shortcuts and merging armature, but aside from that I recommend not using it.
And for deleting bones, I recommend dissolving bones instead, it combines the bones and their weights (likely part of why you are seeing spaghettification).
When importing back into Unity, if you are simply replacing the FBX without knowing exactly what you are doing then spaghettification can also happen, best to just put into Unity as a new model.
you can often do the replacement thing even if you do a lot of bone updates - try setting the rig to generic and apply, then redoing the humanoid setup.
Seems like ill be going down a deep rabbit hole to get the bone count down without spaghettifying
AHHh, can anybody tell me how to fix this????
I'm done trying to fix this nonsense
I try my best to optimize my avatars to medium, everything is fine when I first upload the avatar and correctly says it's medium, then a couple days past and it goes down to very poor without me touching anything, I go in the editor and this bounding box issue doesn't exist, I update the avatar and still says very poor!
got fury or something?
did you add a prop with a giant bounding box or something?
Yes, since the assets I use need vrcfury,
not that I know of, Only asset i could think of is this asset, so I had removed it from the avatar but it still had the same issue, unless somehow another asset broke and has that bug, though it be weird, since I've used those assets before and didn't give me the Bounding Box bug.
I found which asset causes it, it's the hair, but it's weird, I've used this exact hair on other medium avatars and even in a good avatar and did not have this issue, and it's bounding box looks fine.
I... don't know how to optimize in Unity...
Somehow this idiot takes a ton of colliders and I don't know how to fix... him... me... it. It.
Working on a Optimization tool :)
Before Optimization:
Materials: 108, Skinned 48, Mesh 45, Particle 17
After Optimization:
Materials: 58, Skinned 27, Mesh 14, Particle 14
Stupid question inbound! If I were to upload an avatar with GoGoLoco installed on the Windows version of the avatar, but NOT the Android version, would it still be visible that I'm using GoGoLoco to people on Quest?
I'm trying to optimize my avatar right now and it's forcing me to get rid of a bunch of outfits that I had.
So I figured getting rid of the GoGoLoco on the Android version might help. (Unless it doesn't.)
no, your quest version wouldn't do any of the same actions
You could always compress the hell out of Quest textures, including the GGLC icons!
I don't intend to use the Quest version of my avatar, but I don't want to exclude Questies. So, I've set the icons for radial buttons to be restricted to super small texture size.
Doesn't save too much space, but it let me save 0.06MB, enough to upload my avatar xD
Uhhh, whatt can I do about the triangle count of these christmas lights? I didn't make em and I dont' even know where to begin to not mess up teh texture when dissolving the model
that's 60k polys for just the lights?
Yeah I was wondering where the 182k tirangels were coming from so I opened all my assets and model in blender
burn it to the ground.
113k just for the base is crazy enough, 60k for lights iseven more absurd
Lmao the bows have teh lowest poly count out of all the christmas assets
But uh yeah how would I easily select just the wire to be able to dissolve it without messing with the lights part of the lights
Actually nevermind, I think I'd have to entierly recreate these to get them any better. Decimate and limited dissolve ain't working for keeping it actually not a mess
I'd ctrl+l to select the wire then p to seperate and work with them as two different meshes. ctrl+j to join on my way out
managed to scrape 22.4k triangles
thx :3
Nvm unity won't accept it bc whateverit wants to whine about
damn, I completely broke it
Rexporting the backup didn't work either
Time to readd them for the 50th time
I once found a neat script that automatically found these in Blender. Can't find it anymore, I find this and maybe it's it.
https://www.klaasnienhuis.nl/2013/07/find-self-intersections-in-objects/
Alr relinked the backup and closed blender without saving but I'll save that link for next time I try to do smthn way out of my league like this again.
The decimated mesh didn't even look good and was like a 12% decrease to my total tri count. Not worth it for how bad it looked
1/8th better for 8x worse looking lights
Instead of decimating with Blender, you can try the decimation tools with cats blender plugin (the fork by neko seems to lack it but older versions/other forks have it), it has more advanced options to tweak its decimation. but it'll never be as good as manual work
Yeah Idk how that plugin works
I have it tho
had it
Apparently I deleted it when it seemingly didn't do anything lmao
I had got it to try and make adding my custom fluff easier, but it did literally nothing compared to blender without it XD
Someone said it would link the meshes into the same one when I pressed join
It didn't do that
I had to do it myself
for PC at least there is NO reason these need to be fully modeled imo geez
if you wanted to remake them you could try baking the original to planes
so like
basically a 2D belt around the avatar
and then each light is a rectangle
or honestly even a triangle would do
bake albedo, alpha, normals, and emission?
and then do weight paint transfer
probably with the robust weight paint transfer addon
14k for fully modeled lights is surprisingly not that bad
Couldve been significantly worse
Well it's 14k for just the torso part
It's 60k total
Either way it's like the 2 wire 120v Christmas light style, so it makes sense why
yeah, but if you're on PC you have transparency.. no reason most of this can't be baked to planes
Where's the transparency?
Does standard lite even support transparency? I thought it didn't bc quest and what not.
Like it's literally like a pentagon or a hexagon per wire.
I don't think a circle can get much simpler
The lights i made for my world are i think 110k? For the ones that wrap around the ceiling
15k for a small portion that snakes up a column
Im gonna remake them this weekend, they dont need remotely that much detail 💀
Actually while im here
Is there a way to cut out blendshapes in unity or do I need to get it back into blender and edit them there
Trying to make a PC only avi a slimmed down quest version and I can probably save a bit by deleting unused blendshapes
I think vrc quest tools can do that
I didnt see anything obvious when I used it but I didnt dig all that deep due to focusing on the textures turning nasty when converted
Ill poke more at it then
I may be wrong, I've never used it, just seen it mentioned here
Still a starting point so ill be sure to look. Just wanting to try and squeeze in another clothing option
Worst case I can just upload two versions of it with a different set of clothes
no, i'm talking about PC, but on quest you still could get much simpler. For thin wires, a triangle profile is usually enough, and the lights could have a square or pentagon profile
unfortunately the limitations on Quest do sometimes make optimization harder than on PC
no UV tile discard, transparency is more expensive than a higher poly count usually, so cards for detailed objects are a no-go (chains, lights, hair, etc)
Lights are square alr and ig a triangle would get the job done.
Also I am on pc with em
I just use standard lite shader because it's one less material I have to change when converting to quest
Because it's just black
Solid Colour
So I don't need like poiyomi or anything
It's a free asset either way and it's still better than anything I can make so I'll deal with it lmao, I'm just not keeping it on this avatar past Christmas unlike with my nardo (my nardo is only as optimized as it needs to be)
So I have lowered my textures for quest as far as I’m willing too which made the quality bad but I still need help it’s at 11 I need it at 10 I don’t know what else to do without making the textures worse
you could try to reduce other things, like the mesh size
How do I reduce mesh
Blendshapes take up a lot of space.
How do I get rid of or reduce blendshapes I’m so close it’s annoying
I do it in Blender
you might consider just fewer mesh objects too, like if you have multiple clothing outfits or something
10mb?
Mine says 40mb max
iirc 10 compressed, 40 uncompressed
Is it possible to make avatar Green without having polygon count marked good?
I'd like to make green version of my avatar, but it's impossible for me to lower poly count under 70k. I really wish devs would make that one more reasonable than what it is atm.
(70 000 polys -> very poor
69 999 polys -> good)
There is no way around that, the avatar is always marked based on the worst rated thing.
that's so stupid
But like, 70k is not that unreasonable, it just appears as such if you aren't used to Blender or other 3d modelling software
Of course doesn't help that some creators make assets where they either don't care at all about optimization or just assume it will be the only thing on the avatar base
I use blender a lot, but it's not possible to lower my avatar's poly count that low without fully changing some assets, or making it naked.
Dissolving edge loops in blender makes for quick optimization, never had to sacrifice much if anything unless putting it on Quest.
Put less stuff on it then
They should finally make the poly count rank higher. That way more people would actually start and try optimize more
well I can make it naked but then I would get banned XD
. . and also make quite a few people people optimize less
Anyhow, you didn't say how much you are wanting them to increase it by, but any increase would definitely not be by that much.
And like, just delete the underlying mesh on your avatar if naked is a problem, if the avatar base is bad then that will be a significant amount of savings.
The reason most people don't care about optimizing is that 70k polygon limit. If it was higher, then more would optimize. Like why would I have everything else green on my avatar if it will still be ranked very poor because it has over 70k polygons? At that point 90% of people see no reason to even try and just have 50 materials since the rank stays the same
It would. I see so many creators whining about this same issue XD
And also deciding to just screw the ranking completely?
It is one thing to decide to ignore the rankings because you can't keep the polygons low and another to decide that you simply don't care about the experience of others.
Yes, the rankings aren't great and basically assume a static avatar without toggles, but they are an alright guide.
no, just make the poly count make more sense. Currently you are very poor if you have even 1 polygon over 70k, and good if even 1 under 70k. They should make it lower in stages like materials, meshes, and all the other
And if you have blender skills then just optimize, below 70k polygons is only hard to hit if you have too much stuff or clothing that is basically completely transparent.
The only reason it is such a sharp line is because they didn't want to have stages, otherwise expect good to be 40k, medium 50k and etc.
Would make way more sense but oh well. I just keep my avatar very poor
(repost bc I made many improvements)
So like... how bad is it? How much of this is "ah sensitive baby" vs "oh no you HAVE to fix that" (and if I do pls help me for the love of god). Im not worried about running it on my end, I have a good machine and PCVR
These things id optimize usually im at 8-12 components , colliders rarely needed with angle limits , could get that av to good/medium rating pretty easy
70k triangles is actually extremely generous for a multiplayer online game, especially so when everyone has a unique avatar. Much more so when no one uses LOD.
This exactly. People are confusing how exceedingly lenient vrchat’s performance ratings are with them being strict. This needs to be highlighted more often.
which one do i use?
for what
my avatar for quest
This chart lists which shaders work in which case, and describes them:
https://creators.vrchat.com/platforms/android/quest-content-limitations#shaders
This page will describe various limits in place for the Android version of VRChat. These limitations are in place in the interest of performance, user safety, and discouraging malicious behavior.
Is there by chance an alternative to the Tuxedo plugin on blender 5? It still works if I use blender 4.5 LTS but figured I'd ask, especially since Tuxedo doesn't seem to tightly pack the atlas despite having a resolution cap? Nothing else I'd tried so far seemed to be able to bake textures correctly for me
oh does it not work on 5 yet?
I don't think I've tried yet
if you're specifically doing texture baking, I really like SimpleBake, even though it's not free
hmmm Tuxedo hasn't been updated in a year, I wonder if I feel ambitious enough to make a PR
(I use it for the twist bones feature)
It fails with errors for me, the particular one seeming to vary by which layers I'm trying to do, but with my normal settings it was saying something about multi-res (away from computer rn)
can i just use Avatar Optimiser off booth and call it a day?
depends on what the stats look like before using it, there might be stuff that optimizer cant change/fix that'd be increasing your model size or tanking the rating
add-ons like that are good for quick simplish fixes but if something is too far gone manual optimization is really your best (and sometimes only) bet
Hi im trying to optimiz my avatar and it doesnt work i look at vidéo but it doesnt help a lot can somebody help me pls first time optimizing
Best thing to do is to go through all of your textures and drop the quality from 2048 to 1024
Or do i put them at the lowest?
56
What should I do ?
w/o knowing what the stats look like you cant really get good directions on what you'd need to fix/change
?
One question :
When I am about to opload an avatar, on unity it shows 69997 triangles
But in game when uploaded, 86989 triangles
Any idea how I can find what makes more triangles after upload ?
Maybe it is vrcfurry, not sure
sdk wont tell you right stats if you using vrcfury to add more things
Have you touched a setting called "keep quads"?
At one point it could be used to trick the SDK that you had fewer triangles, not sure if the SDK was ever fixed to see through that or not, but clearly the more accurate server-side checking is disagreeing with what your SDK says and it is generally right nowadays.
It has always been accurate with triangle count in my experience, unless I intentionally add delete on upload component, which would cause the opposite effect.
I don't remember any setting "keep quads". Do you know where I can find that ?
Pretty sure you click the imported fbx file in unity
One of the settings alongside the rigging tab and etc
Keep Quads is unchecked, as you can see
Well assuming nothing else has it on then you should probably look into any VRCFury prefabs anyway, I don't think there is anything that adds tris, but could be wrong.
It may be vrc furry, I'm looking into that
duplicate av, drop vrcfury & all controllers - upload offline see what stats it has now🤷♂️
I removed all VRC furry stuff, Darker optimizer, and it is medium now. So that's why
I'll try to find what exactly cause that
Thanks for the help !
If someone have the same issue one day, here the anwser :
Those VRCfurry components make the triangle count higher
Anyway, problem solved
None of those should be increasing the triangle count, the SDK is aware of disabled objects so I am still confused.
Does anyone make avis
How do you lower your skinned meshes?
merge the mesh objects
I was going to use them as toggleable but it seems to be way to performance heavy should i combine the materials back into the body atlass as well?
Yeah merging meshes doesn't combine materials, so if they have separate ones you'll want to combine those too
they did fix that trick
theres more then textures on the avatar, fbx/shapekeys/animations/audio ect adds up , large fbx's cant be under 10mb easy
I don't have any shapekeys
And the only animations are particle systems, which are heavily downgraded
Plus, no audio cause its quest
Like, am I supposed to make my physical avatar smaller than 2.1m?
That has no effect on MB size
Aight
If it says textures are taking up several MB then swap over to the ASTC texture format for android and make it like 8x8
Another file thing 💔
8x8? That's literally going to look horrible
6x6 is basically just better dxt1, so yes, 8x8 is worse but definitely not horrible.
Honestly, I'm just gonna see what happens if I bring my textures down to 512
You can also check with the worldtoolkit that is included with VCC, after trying to upload once, it will tell you the size of everything included.
Isn't that for worlds, not avatars?
its just reading the log after its done, can be done manually
Ah
Works on both
its like that one
Thing is
unity editor log shows filesize and compression on everything after
How is it that I make an avatar, with much less things and much less effects on it, and yet it's 24mb
Know I have seen this image before, never registered to me the left side I guess.
Cool, need to remember that.
Ngl, it could be the fact that my avatar has 1.68 million triangles :-;
No idea if I can reduce that though
that is what i call a quest crasher and security check would flag it for being oh only 84 times above the limits
shove 1.68m vertices in a quest user face see what happen to their frames
My last avatar was 1.2m and that didn't do anything to anyone
Especially since I'm a quest user
cause you were hidden and aweful , you would be blocked instantly even on pc
decimate it in Blender, theres a built-in modifier but its not great so manual decimation is kinda the way to go (theres also paid unity add-ons like polytool but im not sure how well it'd work for a model not created for vrchat specifically)
if i use this, it mean the resolution will only be 2048 for quest right ?
Yes, for that texture the resolution will be max 2048 (assuming the texture itself isn't lower)
So I’m working threw unity and I was wondering if anyone knew what causes this it’s only the ears that are like this
And I’m not exactly sure what’s going on I’ve checked blender n everything seems fine on there so I’m just a lil confused n I couldn’t find a video for it so I was just wondering if anyone here knows?
you'll need to explain what is wrong about them.
normals are inverted on the mirrored ear, this button will help you diagnose this in the future
Hey guys, I recently started messing around with avatars and I wanted to ask if what usually causes people to lag with their avatars is their texture? My avatar has 178MB of textures, is that good for PC gamers? I don't know if I should worry about particles and stuff.
that's about 120 over the value I'd aim for, honestly
Also draw calls are a big thing - which means material slot count
I set 100% of my avatar's textures to a maximum size of 1040, with some still between 540 and 220, and it's still that size. Maybe it's because of the items? (I added about 6-8 items to the avatar)
no, everything can
the textures have an insignificant impact, what you have to look into when it comes to texture usage is the shaders, which are the ones tha sample them
Try to get your material count down, and skinned meshes. You can combine skinned meshes and materials in blender, and if it's possible to use the same material for multiple skinned meshes in unity, do that. Any particle effect system or light system can also make someone lag pretty bad. Use tools like blend shape optimizer with vr fury to save some vram as well
Some meshes have many textures (masks, bump maps, etc), and some avatars have many meshes, so even smaller textures can add up
Can I merge ten separate nails placed on each finger armature in some way so that they all use the same material slot in the unity editor? They all use the exact same material, but they all contribute to their own material slot when I look at the alerts before upload.
Already have d4rk, merge skinned meshes.
Do you have "merged static meshes as skinned" enabled too?
I enabled it but it seems no change yet. I was thinking maybe they get merged during upload process. I will try in a moment.
They do only get merged during the upload process
You can have it create an optimized clone but generally it just works so why have that extra step when it will just fix it on upload.
I'd do this in blender, just merge them into the body mesh.
Thanks for tips. I am trying some things but this is all pretty slow. ☕ Got the tools installed on a hard disk drive... I don't have blender installed or any addons to work with avis over there yet.
no addons are needed, but okay.
Ok yeah it seems they did get merged during the upload process nice, nice! Merge static meshes as skinned I had disabled because I ran into an error that I need to investigate.
I have circumvented the present problem.
If you make a texture for a particle does it count as a main model texture because I’m concerned about the 4 texture limit
all particle system materials count as material slots. Textures aren't really relevant other than file/VRAM size
okay thanks
I am the best avatar optimizer on earth, god gave me divine intellect. This is divine intellect right here
AAAAAA
Wtf xd
Eh, turns out that was caused by me reimporting my fbx with the wrong scale
lol
Desperate times call for desperate measures
this is good practice though
yea that paired with d4rk's avatar optimizer got my performance rank from very poor to medium (only on the pc build tho 😭 )
bit of a drastic approach tho, although I only have 1 clothing item so it didn't really matter much to me
How do I fix this issue?
So, on pc, everything works fine
But on quest, some abilities are invisible
Wait, I think I found my issue
Nvm, didn't fix
is this the unrealistic proportions everyone’s annoyed about
got the big thighs with the tiny waist
704 tris Steam Deck for my avatar, optimized it myself byhand.
Atlassed to my main avatar's prop atlas.
Don't install cats
