#avatar-optimization

1 messages · Page 8 of 1

marble rain
#

etc

wet harness
#

but not every object uses VRAM, only meshes textures and shaders, for the most part

zealous wigeon
#

That would expensive to compute.
Which is why my feature request is better.

marble rain
#

no it wouldn't lol

buoyant holly
#

yes but enabling toggles would encourage more people to stuff more stuff in their single Avatar increasing vram

marble rain
#

thats all done for the upload process.

#

its just another text field

#

count all disabled objects. found. find out the total polygons, materials,bones etc

#

obviously overly simplified explanation

zealous wigeon
# marble rain no it wouldn't lol

For the rankings to mean anything they have to assume worst case.
Unless they have their own toggle system (see above) which could account for it and detect when a toggle has been activated, which would be pre-calculated.

wet harness
# marble rain thats all done for the upload process.

I mean... we have avatar tags that don't do anything, and we have future proofing which uploads all assets the avatar uses as a unitypackage that got never used. And you expect them to change the upload process? ^^

marble rain
#

at some point they have to.

wet harness
zealous wigeon
zealous wigeon
wet harness
zealous wigeon
wet harness
#

lets request props then! Because that would actually improve performance >.<

zealous wigeon
#

Highly doubt it hasn't already been requested tons of times.

wet harness
#

needs to be limited too, obviously, amount per player, total amount in worlds, etc

wet harness
zealous wigeon
wet harness
#

when CVR launched, I did took a quick look at it and messed around with a few props, and it would definitely be a good thing. But CVR sucks at many levels to the point it's not usable for me. But they do had a few good ideas (I like the world loading for example, it feels so much more immersive then the loading screen in VRChat >.>)

zealous wigeon
#

Dragged my group into Neos after the community I was in had had its test CVR meet, they seemed to have more fun there.
Even though it is quite intense on your computer.

#

Neos is a good example for why the ranking system was a necessity for VRChat to implement as it is.

wet harness
#

I did took a look at all alternatives, but they just can't replace VRChat for me.

#

most of the time to restricting, or almost empty.

zealous wigeon
#

Nah, CVR is the direct alternative, Neos is different and more like Gmod, it is fun for different reasons compared to how VRC is.

wet harness
#

yeah, CVR is the closest, but it's also limiting, and isn't really better. Sure they have props, but somethings just straight up work better in VRChat, or aren't a thing in CVR.
But the main issue is that I use VRChat to socialize, and for that you need, well, people.

soft ember
#

could always be a bug, make a report ?

lone tiger
#

VRChat only counts textures in materials that are on avatar in the scene it seems. Material swaps from animations are not counted in.

onyx harness
#

Intended game mechanics

merry swift
#

There's always going to be something needing fixed :p

onyx harness
#

I can only promise I will use any and all tactics to get around the performance ranks.

lusty ore
#

can easyquestswitch remove (not just disable) components? I need to remove physbones from my quest avatar

merry swift
#

Why not just unpack the prefab and delete the physbones

lusty ore
#

that is already what i'm doing but I wanted to automate it

frosty fiber
#

Hey there! I'm currently trying to set up fallback shaders on my custom ones.
Ideally i'd want to have it be like how my shader is for the quest version (MatCap Lit with a custom MatCap texture)
At the moment I'm able to set the fallback as matcap, but i'm struggling to have it pick up my MatCap texture.
If anyone has any expertise with the fallback shaders, I would really appreciate the help. Thank you!

vivid night
frosty fiber
#

Left is PC right is Quest

#

what I would want is for my pc model to use the shader the quest version uses if it gets blocked

#

here's the quest shader

vivid night
#

I don't think you can make it like that I believe it is a QUEST ONLY thing when it comes to fallbacks. I haven't seen a PC fall back 😅

merry swift
frosty fiber
#

I'll give it a look! thank you :)

merry swift
merry swift
frosty fiber
#

It's a custom shader that my friend wrote the code for

#

I was trying to set the fallback shaders using the tags in the shader file

merry swift
#

ah, can't help you there :)

frosty fiber
#

yea it's a little rough hahah thank you nonetheless!

merry swift
#

If you're writing your own shaders you're probably prepared to run into a few bumps though ;)

frosty fiber
#

Yea 🥲

merry swift
#

I think by default VRC falls back to unlit if that's good enough for you 😅

frosty fiber
#

Yea I was testing out the various tags from this

merry swift
#

oh you're already in the docs and everything

frosty fiber
#

MatCap is an option which I can manage to set

#

Yea i've been trying to find documentation to figure it out

#

The thing with setting it to MatCap is that it just gives it a default texture to use for the shading on top of my texture

#

when Ideally id use the mat cap texture i used here

merry swift
#

because you can't get to the UI for the fallback right

frosty fiber
#

Right yea

#

they mention that you can add parameters to your shader with specific names that it will copy

merry swift
#

_Matcap is listed under the legacy system :\

frosty fiber
#

yea I just saw that

merry swift
#

it doesn't look like it's copied under the new system

frosty fiber
#

they mention that you can like, use the old fallback system if you dont give it a tag though?

merry swift
#

ough

#

good luck 🥹

frosty fiber
#

Thank you! I'm probably just going to have to settle for something that's decent enough but oh well

#

I appreciate you giving some of your time ⭐

merry swift
frosty fiber
#

oh thanks for the suggestion!

undone cradle
#

Tbh I'm not 100% on this, and the list doesn't contain a matcap, so I have no idea how you'd get the fallback shader to use the correct texture.

undone cradle
#

VRC's matcap lit shader does use "_MatCap", must just be that it's not passed from the custom shader since it's not in the standard shader parameter list. :/

Unfortunate.

vivid crescent
#

Me sitting here just using rero and refusing to publish on quest vrcAevSip

acoustic gyro
#

how to combine skinned meshes in unity?, i have to go to an event in a bit and they require green avatars but due to VRC not giving anyone alternatives to an update that makes peoples life harder AGAIN, the public avatar i use is no longer green, so i need to combine meshes on one of my uploaded avatars

#

i deleted a bunch of things and im down to 6 skinned meshes but i need to be at 2

#

the vrc sdk just highlights and doesnt give a suggested fix

#

also i tried tutorial videos but they keep trying to rip me off by pointing me towards the asset store with 40$ to 80$ packages

merry swift
tawdry drift
#

yeah you're bound to use blender eventually

acoustic gyro
#

already got it i used D4rk avatar optimizer

#

VRC wants to fight me over Avi size fine XD

dapper pawn
#

How do you know in advance what the texture memory of an avatar is going to be?

zealous wigeon
#

Eventually the mesh (and everything else I asssume) is supposed to be counted towards VRChat's VRAM metric as well, whether they will then up the amount of VRAM each rank is allowed or not is unclear.

dapper pawn
#

Also I'm curious, what happens to all the custom fallbacks that suddenly became very poor after they started counting the texture memory?

zealous wigeon
#

To my knowledge they stopped being fallbacks

dapper pawn
#

Mmmm

#

Gotta rework my fallback again then.

zealous wigeon
#

I haven't seen one personally though and none of mine fell below good since they were so simple.

merry swift
merry swift
# dapper pawn Thanks

https://youtu.be/8F9K1QEPF6A this video can help you get started too

Hi, I'm Teeh. The VRChat Feb 16 developer update announced new changes to performance ranking. Let's take a look.

Need help? Wanna show off?
https://discord.gg/sippbox

VRChat Performance Ranking Documentation
https://docs.vrchat.com/docs/avatar-performance-ranking-system

VRChat Feb 16 Developer Update
https://ask.vrchat.com/t/developer-update...

▶ Play video
#

Goes over compression and import settings and stuff

dapper pawn
#

Thanks for the link though

radiant shadow
#

noticed when they added vram check sdk , transforms got a slight bump on pc side (32 is now 64) , nearly all my avs are in the range 26-50~ ish transforms 🔨 🐇 , collision went from 64 to 128 too

dark sigil
#

does anyone know if there is a way to view avatar file mb total before uploading? ever since the new update with texture memory requirement for performance, they didn't give us a way to monitor properly and min-max our avatars. I don't like having to upload fully in order to see just the wrong texture memory being shown and then going back and forth. There needs to be a better indication for this for creators to make performant avatars correctly. This is of course relating to optimizing so i hope this is the right channel to talk about it. In case you are not aware of what i am meaning, i meant to talk about the same as this post made by ruuubick, but needs to be for avatars.
https://twitter.com/Ruuubick_/status/1166014308918185984

Turns out a lot of world creators didn't know this, but you can easily find out what your world is made of, how much it weighs, to then be able to reduce its overall size :

Likes

394

Retweets

182

#

For pc i could careless, but it would be nice to see the full mb file correctly displayed somewhere.

radiant shadow
#

Its already for avatars ? but will require upload/offline

dark sigil
#

build test doesn't show statistic, i don't think, but what i am asking is if there is any way to view statistic without uploading

#

kinda like how ruuubick did it here for worlds Before even uploading

#

it will make things much smoother and without the hassling of going back and forth

radiant shadow
#

Thats after (build & test) , it cant generate a output log of something you have in scene - here is an avatar output , it takes seconds to do offline

proper grail
#

packaged avatars can also be found at %temp%/defaultcompany after clicking vrcsdk build & upload but before exiting play mode

radiant shadow
#

cant remember if the world debug script also just look up bundle name after build and shows the same thing .txt does

dark sigil
radiant shadow
#

texture size isnt vram size

#

thats your download size

dark sigil
#

i didn't circle the the compressed size

#

16.0mb is obviously rounded up from 15.70mb so thats correct

#

how do you check vram size then

radiant shadow
#

'close ish'

dark sigil
#

are those rounded numbers

radiant shadow
dark sigil
#

thank you for the link, this better work cuz its annoying me as a creator

dark sigil
#

finally something to keep track of texture memory

bronze lantern
#

Does forces in physbones like immobile, stiffness, etc mean more calculations? would changing them make my avatar less optimized?

dark sigil
#

physbones values doesn't play a role in minus or adding optimizing, it is the existing of physbones that plays a role in it. Meaning if you don't use physbones then your avatar becomes performant, If you do use it then it adds onto the loading mb just by a small amount.

#

In short, you don't even need to worry about the values like stiffness or gravity at all

bronze lantern
#

Okay sweet great to know thank you!

obtuse hatch
#

I am new to this and have been watching tutorials, if I upload an Avatar in Android mode As a "FallBack" then another in Android mode not as Fallback,
then as well a PC Version under the same ID, will it use all 3 ? PC, HQ Android, Fallback Android?
Or just PC and Fallback shown for quest?

buoyant holly
#

you would only have a PC and an Android build attached to an avatar not 2 different Android builds

obtuse hatch
#

ok ty

buoyant holly
#

so you would want the fall back to be a separate ID from your main Avatar

obtuse hatch
#

awesome thank you

buoyant holly
#

that way you could go up to poor on the quest Avatar separate from your fallback

obtuse hatch
#

wow literally 0 physbones for fallback

sick relic
obtuse hatch
#

i think it's adding extra whine due to seperated mesh for visemes

#

Which you would figure they would want?

sick relic
obtuse hatch
sick relic
obtuse hatch
#

i had seperated the mesh into 2 face for visemes, and then non-viseme mesh
it then whines about it being 2 meshes
You would figure that as seperating Viseme sections it would be More low render cost

sick relic
obtuse hatch
#

easy fix just confusing

radiant shadow
#

at that low poly it doesnt matter

#

32000+ its recommend to seperate shapekeys to its own mesh

undone cradle
#

That's the PC recommendations. 😅

lean crown
#

how i merge clothes with body so they will be one mesh

undone cradle
# lean crown how i merge clothes with body so they will be one mesh

I'll make that easier to google for you.

"how to merge meshes blender"

This is assuming they're already on the same armature, if they're separate armatures, you'd have to do more stuff.
Supposedly this could merge clothes onto your avatar in Unity, but might not be what you're looking for.
https://github.com/CascadianWorks/Unity-Mesh-Transfer-Utility

GitHub

A Unity Editor utility that can transfer skinned mesh renderers from one armature to another. - GitHub - CascadianWorks/Unity-Mesh-Transfer-Utility: A Unity Editor utility that can transfer skinned...

vapid bluff
#

is it taxing at all to have a lot of blenshapes for a head?

undone cradle
# vapid bluff is it taxing at all to have a lot of blenshapes for a head?

adds VRAM usage, not sure about the other performance impacts, but if you only have them on a separate head mesh, each blendshape has less of an impact.

A blendshape stores offsets for every single vertex on the associated mesh, so the lower the poly count of your mesh, the less of an impact blendshapes have.

vapid bluff
#

ah okay i see, was thinking of making a head mmd world compatible and it adds quite a bit in total to this head

undone cradle
#

yea as long as the head is separate from the body, you should be fine.

a lot of avatars have MMD blendshapes and not a separate head mesh. 😩

#

same goes for face tracking tbh.
and I'm guilty of that.
haven't figured out how to make the seam between head and body look seamless. (mainly a problem when you don't have clothes covering it)

lean crown
#

but that havent did thing i wanted

#

i want reduce mesh count

#

so clothes will be part of body

undone cradle
lean crown
#

yes i was asking how to do it in blender

tranquil dune
#

I'm animating the color property on my material, but I don't want it to affect the teeth and I want get the avatar down to just 1 material for Quest, is there a way to do that? Maybe with vertex colors?

lean crown
#

yes that

#

i planned use 2x2 image for color pallete for most of my avatar

lusty ore
#

The clothes are always in a white region of the texture so that they never change color

tranquil dune
tranquil dune
#

Hmmm, it doesn't actually look that bad with the teeth getting colored too.

#

This is just with a material actually set on the teeth, setting the color on the mesh seems to only have an effect if the material is a unity asset :/ Which is not what I need lol

#

Or not... now it always seems to affect the teeth, and it didn't before (edit: I just set it to a mobile shader without the color property for now)

heady smelt
#

Question for anyone here

#

Before I do it

#

If I decimate the assets on my avatar in blender, am I able to just reimport it over the old fbx, or will it break the avatar? I know I'm able to delete things from the avatar and add blendshapes and weightpaint and what-not and reimport it... but what about decimation?

heady smelt
#

nobody answered me so I did it anyhow and Yes, you can lol it wont break.

strange sigil
limpid solstice
obtuse hatch
#

Question on the 7000 Vertices for Quest optimal, is that the Avatar itself be 7000, or the Avatar and all Toggle Attachments need to be under 7000?

sick relic
obtuse hatch
#

Ty, so for Fallback prolly just don't do toggleable, and sorry not sure why I said Vert, when I been looking at Tri in Blender this whole time....

sick relic
obtuse hatch
#

Ty

gray juniper
#

https://docs.vrchat.com/docs/avatar-optimizing-tips
this video prob was in the section for dynamic bones but they are gone now so where is this video ?

VRChat

🚧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.However, we try our best to keep this document updated with the most common things people miss, a...

rancid basin
#

i need some ideas on what to optimise next on my avi

#

ive done everything when it comes to textures and separated the face mesh from the body to optimise the blendshapes a bit

#

anything more that could be of use?

mint topaz
#

if you really wanan be nitpicky

#

i guess you could look at your memory usage in terms of uhh

#

expressions and parameters

#

it really wont make much of a difference if you dont use many but

#

yea

#

🤷‍♀️

umbral plover
#

Optimization question here;

I have a sphere that acts as a dome for a model of mine and it's increasing the bounding box by a fuck ton.

I'm not sure if I should keep it one mesh, or split it up into two meshes.

buoyant holly
#

that wouldn't make much of a difference to the overall bounding box size stat

umbral plover
#

Really?

buoyant holly
#

yes the Avatar stats count everything on the avatar

bronze lantern
#

So Uh, what are the chances this will happen? I really want to make my avi quest compatible but I am struggling to get him down to 20,000 polys to atleast get him to poor

onyx harness
#

well that message has been there since... idk, the quest was introduced to vrchat. As long as I can remember it's been there.

#

try try try to get it as close as you can. If Vp avatars are removed from quest it's not like it'll be removed from your harddrive.

merry swift
#

Quest is so tragically underpowered

#

My heart weeps

ivory sluice
#

Mobile processors stuff

vivid crescent
#

Then again, I’m pc vr and I dislike quest modders.

merry swift
vivid crescent
#

It’s annoying to deal with quest modders.

#

Especially when it comes to pvp.

ivory sluice
woeful pecan
#

Hey, do you guys prefer it if the UV's are mirrored for maximum detailed space usage or have one a dedicated space for each side in case you'd want a body tattoo or something that is unique only to one side?

merry swift
#

oh god that is a good question

merry swift
woeful pecan
merry swift
#

Well yeah ideally UVs should be generally well thought out

buoyant holly
vivid crescent
woeful pecan
vivid crescent
#

Trust me

buoyant holly
vivid crescent
#

When its pvp and they have guns from walls which you have to hold in your hand they have a client which allows them to control all the pickup items like delete them etc.

#

It’s annoying.

woeful pecan
buoyant holly
#

The video I just posted might be of help?

wide wasp
#

noob here trying to optimize my avatar. How do I preserve clothing toggles after joining all meshes into one and atlasing textures? I've been told NOT to use blendshapes because they're jsut as bad as having multiple skinned mesh renderers but I can't figure out how to toggle with materials if there's only one because of the atlas?

vivid crescent
#

Not sure toon is even allowed on quest

buoyant holly
#

Does the tattoo Avatar need to run on quest @woeful pecan

vivid crescent
vivid crescent
#

Its sad how people need a cruch

buoyant holly
# woeful pecan Nope.

Okie dokie good to know so yeah just go look around the documentation of the toon shader

vivid crescent
#

I remember when my rindo model came with toon

#

Got rid of it

buoyant holly
#

It also has RGB tiling detail masks which are quite handy as basically lets you stack four different tiling textures onto the same material overlaid on top of the regular textures

worn yew
#

wasting 20k tris to put your name in the head is crazy to me

#

its a shame to buy an avatar and have to clean it up yourself lol

tawdry drift
#

weird narcissism from some gumroad people lmfao

worn yew
#

if the point is to make it easier to spot it being stolen theres still way better ways to do that than shoving that shit in there

buoyant holly
#

Like why not just put a quad with a picture of the name like a sensible person

worn yew
#

no idea

#

the avatar is around 500k tris

#

gonan spend all weekend doing retopo and baking the entire thing down lol

tropic sonnet
#

everyone liked that

buoyant holly
#

Wonder how much of that's just in the hair

worn yew
#

the hair is not as bad as it looks

tropic sonnet
#

from the ss there's 200k on the head alone

worn yew
#

head and body is 170k after i got rid of the 20k discord user in the head

#

jewelry and bones on the hand are like 50k

tropic sonnet
#

parts like this seem fairly excessive

buoyant holly
#

Yeah you could definitely dissolve a bunch of edge loops

worn yew
#

gonna start with the shirt and just bake it down to a lower poly version

#

and retexture it

#

this piece isnt even that egregious i guess but eh

#

16 skinned meshes or so too

#

going to have to switch it all over to the uv discards because apparently those are decently performant

buoyant holly
worn yew
#

entire thing has thickness as well

buoyant holly
#

Oh dear

#

You could fit like a whole Avatar in that triangle budget

vivid crescent
#

1.6mil poly skull my beloved

worn yew
#

theres also just random sharps everywhere

#

and nice stuff like this

ivory sluice
#

you paid for that?

buoyant holly
#

Honestly more models should show like the Avatar stats so you know what you're paying for

ivory sluice
#

fr

onyx harness
#

There’s a good chunk of paid models like this. The, “lowest I could get it without deleting meshes would be 100k so it’ll never get lower than Vp, why bother?” mentality.

ivory sluice
#

if a paid avatar has such an excessive poly density i'd consider it a scam, and i'm sure most of these models were taken from sketchfab

buoyant holly
#

Or deviantART

ivory sluice
#

yee that too

#

just with that 20k polygon text it shows this person just wanted a quick buck

buoyant holly
#

And that bag could probably be done with less triangles and not be too noticeable a difference

ivory sluice
#

yea, and that belt thing could have just been a cube with a 3 cut bevel

worn yew
#

the assets they got from gumroad and just edit

#

but the gumroad assets are generally badly optimized in the first place

#

i cleaned it up to get a decent high poly and now im gonna retopo

eager coyote
#

how do you guys deal with subdivision levels in blender before exporting? do you apply them or nah? vrcCatThink

worn yew
#

subdivision on what

#

you can apply it during export if you want to still edit stuff later

eager coyote
#

on my character, I want the smooth look but not the extra geo

worn yew
#

bake a normal map

eager coyote
#

I know I can use normal maps, but it still doesn't look as good

worn yew
#

doesnt look as good how?

eager coyote
#

still looks slightly sharp

worn yew
#

send a picture

eager coyote
#

1sec

#

with subd modifier

worn yew
#

well, you're going from one extreme to the other

#

add extra edges where the silhouette is too sharp on the low poly

#

the normal map cant fake the silhouette

eager coyote
#

right

#

I don't like the idea of decimating, it gets rid of my nice topology

worn yew
#

you shouldnt decimate

ivory sluice
#

don't subdivide, to make corners less sharp do bevels selecting the sharp edge loops and ctrl+b

eager coyote
#

unless it's a static moving bag or something then maybe I would decimate

worn yew
#

what stereo is saying is what i would do

eager coyote
#

hmm okay

#

right now I'm at 33k polys in blender

worn yew
#

thats fine for a model like that

#

you can go higher

eager coyote
#

I joined all the meshes together not sure if that's bad or not

worn yew
#

depends

eager coyote
#

I mean I only separated the head for the blend shapes though

worn yew
#

that should be fine

eager coyote
# worn yew you can go higher

I don't know if I can go higher, because since it's a game mesh, everything get triangulated, (doubled) in count, so the creator companion tells me I'm just in the "good" poly count range

#

so technically 66k tris

worn yew
#

that doesnt look like 66k quads. show blender statistics

eager coyote
#

no it's 33,500 something quads

#

in blender

worn yew
#

it doesnt look like that either

eager coyote
#

but meshes get triangulated when thrown into unity for game mesh

worn yew
#

it looks more like 33k tris to me

#

huh i guess it is 66k

eager coyote
#

lemme screen shot it 1 sec

worn yew
#

i see iti n the bottom right

eager coyote
#

soo.. probably too dense?

worn yew
#

beveling some of the sharp edges shouldnt bring you that much higher

#

most models exceed 70k in this game

#

does that avatar have its body mesh under the clothes?

eager coyote
#

I also didn't know vrchat had a "good" bone limit of around 70 something

#

I have around 170 something XD

worn yew
#

from the hair?

eager coyote
#

all bones in total

#

hair takes up a lot though

#

all that's left of the normal body

worn yew
#

well then i'm not sure what else you can do

#

you have 3-4k more polys you can add

eager coyote
#

ye

#

1 last thing I can think of

#

I don't now if this normal map is directly affecting the geo, but might just be driving where I have my shadows

#

I think this works but not entirely sure

worn yew
#

you arent going to have a shader editor like that in unity

eager coyote
#

true

#

you know Yoolie?

worn yew
#

whos that?

eager coyote
#

this dude

#

I feel like he uses subd but I don't know

worn yew
#

is his stuff for games or just for the renders

eager coyote
#

some of his models are for vrchat

worn yew
#

if you subdivide your poly count is going to quadruple

eager coyote
#

yup

fringe portal
#

hey what are some easy ways to lower texture memory? I've tried to edit these options for the textures but it doesn't change the 'texture memory' value in game

buoyant holly
#

Max texture sizes like the only thing that affects vram as image compression doesn't affect vram just download size

#

And like if you can channel pack your PBR texture masks that would use less vram as you're having one texture instead of 3

fringe portal
#

ok thank u

fringe portal
buoyant holly
#

Oh dear that's strange

#

Currently away from my computer so I can only be of so much help

merry swift
# fringe portal hey what are some easy ways to lower texture memory? I've tried to edit these op...

Hi, I'm Teeh. The VRChat Feb 16 developer update announced new changes to performance ranking. Let's take a look.

Need help? Wanna show off?
https://discord.gg/sippbox

VRChat Performance Ranking Documentation
https://docs.vrchat.com/docs/avatar-performance-ranking-system

VRChat Feb 16 Developer Update
https://ask.vrchat.com/t/developer-update...

▶ Play video
fringe portal
merry swift
#

you also need to completely exit the game to refresh the vram usage value

fringe portal
#

yeaah

merry swift
#

lol

#

watch that video and get Thry's VRAM calculator, it'll save you a lot of time in the future

buoyant holly
#

And if it's helpful for vram reduction in future the color normal map and the PBR masks don't all need to be the same resolution

#

Like if you just have a metallic smoothness map that's like a bunch of Big blocks of solid colors you could probably lower the resolution on those quite a bit with no noticeable difference

worn yew
mystic apex
# merry swift watch that video and get Thry's VRAM calculator, it'll save you a lot of time in...

Would you by chance know what would cause Thry's VRAM calculator to report wildly different numbers than VRChat reports in game? I have an avatar where the calculator suggested the vram usage was 160 MB, once in VRchat the game reported it was using 330 MB. So then I optimized it to where the calculator was reporting 106 MB, but now VRChat reports 50 MB. So it got optimized a lot, but the calculator's numbers aren't lining up with vrchat at all.

Would be nice if the SDK would just show this metric from the vrc publish GUI, I'd hope that would line up with what VRchat actually reports.

zealous wigeon
#

Calculating VRAM usage is also apparently not as simple as counting, so even if both only counted texture memory they would offer slightly different values.

merry swift
merry swift
#

Adding EVEN MORE to the confusion is that I'm not actually sure the in-game VRAM usage statistic is just texture VRAM - the metric used by the performance ranking system - or texture+meshes or something else.

zealous wigeon
glass yacht
#

is there a way i can just... mass delete all the physbone components off my avatar to start clean?

mystic apex
worn yew
#

looks OK now

buoyant holly
#

cool

bronze lantern
#

What's the best way to optimize a mesh without destroying the texture, whenever I use something like unsubdivide or decimation it ruins the textures on my mesh, is there anyway to optimize while minimizing uv effects?

#

Would dissolving edge loops be a good method for optimizing?

zealous wigeon
zealous wigeon
buoyant holly
#

It helps if you in the UV editor tell it to mark all of your UV seams so you can see what edges need to stay put for your textures to be okay

rose sequoia
#

I am wanting to add some logic in my direct blend tree optimized fx layer using the AFK parameter - if I add "AFK" as a float parameter in my animation controller will that also get populated as "1.0 "or "0.0" like what happens for boolean synced parameters? (I guess the question extends to other "built-in" parameters that VRChat has like "IsLocal", as well)

fair oxide
#

What exactly do you do when retopologizing marvelous designer clothes in blender? Are you creating a new plane or somehow editing the previous UVs, does anyone have experience with this?

ivory sluice
#

I pick a plane, put a subduvision modifier then a shrinkwrap modifier and start extruding around the object

worn yew
#

uvs on the high poly dont matter

lone tiger
timid prism
#

Tip: Keep your textures SMALL! Use a method called crunch compression in unity! You can get even an 8k texture down to 3 MBs! It uses the same amount of VRAM but decreases the downloaded size as well as increases the speed at which a world gets to it's runtime! (in a world creation scenario) It's helpful for people with lackluster internet!
I keep seeing 150 mb avatars in worlds like drinking night and it drives me nuts.

zealous wigeon
sick timber
#

Also the same size in VRAM

jovial tartan
# zealous wigeon Causes hitching when loading an avatar. It also decreases image quality.

I have barely noticed a difference in image quality, that you would really notice, but a 1 second hitch on load is worth it if u ask me compared to waiting multiple minutes based on internet speed. I usually always go 75 crunch and normal comoression and at max 2 or 4k textures, i would avoid 4k all together but sometimes if u have small text 4k is needed but only on the texture that needs it

merry swift
#

I would argue that 2k textures should be the max

jovial tartan
jovial tartan
jovial tartan
#

My main avi is like i think 18 mb of vram

#

Still very poor due to polygons

merry swift
#

you also have the option of including a second UV on your meshes for putting tattoo decals on

jovial tartan
#

How would that work?

merry swift
#

You just select the UV in the shader

jovial tartan
merry swift
jovial tartan
#

But 2k ig u ask me if fine, up close u can tell, but move 1 meter away and add vr and lenses and distortion, u cant tell the difference between 2k and 4k except the vram

jovial tartan
jovial tartan
merry swift
jovial tartan
#

But if u have plain old tatoos u can do decals yes

merry swift
#

That is an ENORMOUS matcap

#

I guess it's pretty harmless if it's 512 though

jovial tartan
#

Matcaps i make pretty low res same goes for gradients

#

Since they dont really make much of a difference

merry swift
#

the information they store is also (generally) low frequency, which is why they're usually lower resolution

#

in my experience, anyway

bronze lantern
#

If I merge my meshes together but have a blendshape that shrinks it down until you can't see it, and use it as a "toggle" will that affect performance or help or hinder my rating?

buoyant holly
#

Using blend shapes in that matter are kind of expensive for performance but would show a better Avatar ranking as it's one mesh and blend shapes aren't currently considered in ranking

#

"except when you're using shapekeys!
There is an exception here! Calculating shape keys can be expensive, especially on avatars with higher polygon counts (>32,000) or when running on lower-spec hardware (Quest). If all your shape keys are on your face, it can be beneficial to split your face mesh from your body mesh, and delete all shape keys from your body mesh. This can be a more advanced technique. Because you have more meshes, it may negatively affect your Avatar Performance Rank, but in reality you'll be slightly more optimized. Remember, the Perf Rank system isn't perfect-- it is just a surface-level recommendation system"

#

From what I've heard bone scaling is preferable for toggles compared to blend shapes

lone tiger
#

If at any point in the future VRChat Team will decide to upgrade to Unity 2021 or higher, then above will no longer be true.
Meshes should actually be merged into one for best performance regardless of blendshapes on these versions.

obtuse hatch
#

Should I Atlas objects that I plan to have Toggles for in my Hand to the Avatar atlas texture?
Or just Atlas all attachments to each other?

buoyant holly
#

Basically just whatever method doesn't leave you with lots of empty space

marble rain
#

What people should focus on is material count and phys bone count. Polygons is also something to look out for. But generally it's amount of drawcalls your avatar causes

merry swift
#

While an engine upgrade may eke out some performance improvements, I guarantee unoptimized user generated content is still the primary performance bottleneck

#

Unity 2023/UE5/Nanite/whatever disruptive graphics technology you found is not a substitute for proper optimization. A supplement, maybe, but the biggest performance gains have been well documented for a long time. We're not exactly just reading tea leaves when we make recommendations, there's a lot of math and shit involved in rendering a scene, it's just a matter of doing as little math as possible while getting the same result

serene moat
#

how do I fix this

merry swift
#

It tells you

serene moat
quaint venture
frail grove
#

for those thinking their optimisation isnt good enough

#

ive seen ppl running around with this

#

(the avi wasnt even particularly good looking)

onyx harness
#

everything about this screams clone system to me

#

though clones would usually leave all the numbers divisible by a certain number and not have anything be decimals. Maybe it's not

proper grail
#

Or 8 different unity assembled avatars once again assembled in unity with all the unwanted stuff turned off, making an 8 layered avatar.

#

Ive seen it happen

onyx harness
#

So like, an avatar with like 15 outfits

#

344 skinned meshes. You have no idea how much i want to see the hierarchy in unity

bronze lantern
# frail grove for those thinking their optimisation isnt good enough

I've spent so many hours working, remeshing, optimizing, etc my avatar from 150k polys down to 67k, while keeping most of my toggles and to a medium ranking and I still feel like I haven't done enough 😭 though this makes me feel better, knowing that I have probably done more optimizing than the majority of people who use custom avatars

bronze lantern
#

not the avatar total but the skinned mesh

buoyant holly
#

I think that'll be fine sorry I can't do more precise research currently on my phone

bronze lantern
#

No, no its fine! ❤️

buoyant holly
#

Something that might make it handy for future if you do change your mind on your toggle methods assign a 100% weight to a vertex group that only contains the object you want to toggle so that you can easily select your objects when they've been combined into one mesh

#

So you would have like vertex group object one object 2 at the end of your list below the bones vertex groups

bronze lantern
#

Definitely sounds more complex, I might need a tutorial if I were to do it, but I'll keep it in mind if It comes to that point 😄

buoyant holly
#

Or I suppose with a more simpler way weight paint your toggled objects to a vertex group that's not attached to a bone

#

Like when you're weight painting you're just assigning vertices to vertex groups with different weights

bronze lantern
#

Oh wow, thank you! haha, I'll watch this just so I am familiar with it, though I might keep my current method because the amount polys I don't NEED to use this method but if I add more and it comes to that this'll definitely come in handy!

#

~60 blendshapes, (most I use to change the size of my base make him buffer or less) is that a lot? is that gonna cost a lot of performance?

buoyant holly
#

Just figured I'd mention it as it would be easier for the objects later instead of trying to go by like selected polygons that are welded together

buoyant holly
#

Super simple Blender tip that is applicable to #VRChat avatars and optimization.

Before combining your meshes, select the verts on each mesh and add them to a vertex group.

This will allow you to select the affected verts whenever you want!

▶ Play video
#

Found the tweet showing what I was referring with the vertex groups

bronze lantern
#

OHH

#

That would actually make it so much easier than blendshapes

#

I might actually go and do that tbh

buoyant holly
#

The video I showed wouldn't be doing toggles at all just more making selection easier

bronze lantern
#

Oh okay

buoyant holly
#

But figured it would be good to do that first that way you have a easier time keeping your stuff organized once it's all merge together into one mesh

bronze lantern
#

Yeah that's definitely true

toxic needle
#

how does separating the face and other blendshape meshes compare to using VRCFury's blendshape optimiser?

cold yarrow
#

Blendshape optimizer just eliminates unused blendshapes, separating the face can be a slight advantage if the mesh is large enough

toxic needle
#

ah, understood

rose sequoia
#

I've not had any interest in tools like VRCFury up until this point (I prefer to do as much as possible manually, so im familiar with exactly how everthing is set up in case i need to troubleshoot something) - but that "Blendshape Optimizer" feature actually sounds really useful..... I currently retain basically every single blendshape I use for all the variations of my avatar, and then have to manually, 1 by 1, remove 80% of the blendshapes before exporting the fbx (I try to avoid splitting the things out until its export time so that if i fix an issue with the mesh i dont have to fix it 20 times)
Thanks for mentioning that feature!

onyx hill
#

Now that VRChat will be available on mobile devices I wonder if they will finally enforce this.

zealous wigeon
#

To my understanding that disclaimer is just there in case Meta threatens to remove VRC from the Quest store.

buoyant holly
#

And I guess to scare monger people into trying to optimize

zealous wigeon
onyx hill
#

Especially when google play and app store have score raitings.

zealous wigeon
#

Fixing CPU usage won't be solved by removing Very Poor.

#

At least not until animators, constraints and etc are limited.

#

And fps matters less for flatscreen users.

onyx harness
#

They won't have constraints at least. Even if it comes to IOS I doubt they'd get constraints either

#

Animators rn are not great though, I'll agree 110% there. Everyone dumping 10 gimmicks on each avatar running 100 fx layers gets painful pretty quick

buoyant holly
zealous wigeon
buoyant holly
#

Also iOS will be interesting because would one even be able to upload a iOS build from a Windows PC

zealous wigeon
#

I actually completely blanked on the whole, new build target.

buoyant holly
#

As it would require separate asset bundles compared to Android

zealous wigeon
#

I sure hope they migrate to another way of keeping assets then.

buoyant holly
#

There's not really any other way to do it that wouldn't be very expensive for VR chat

#

Like you could upload it to their servers and then it compiles all 3 builds but that would get expensive

#

And like something like rec room probably doesn't require that because it's probably just storing a text file looks like all the positions and material choices not actual model data

#

Given that it's only geometric primitives and splines you can use in rec room

zealous wigeon
#

My hope would be that they could figure out a platform agnostic asset bundling system, I really do not want to deal with a third platform, just going to be tedious swapping and uploading the Quest version twice.

Ideally then you could instead have avatars be like LODs, Quest version being the second lowest, PC being highest quality, wouldn't make much of a difference to mobile users, but would be nice for PC.

tawdry drift
#

wouldnt be shocked if they put android rated avatars behind microtransactions

#

makes no sense why its on mobile

zealous wigeon
zealous wigeon
#

If VRChat came to PS5 then I could see uploading to it being locked behind VRC+ or something (since VRChat would need to upload them for us).

tawdry drift
#

you know how theres a bunch of default fallbacks? i mean similarly that

#

a set of premade, basic avatars

buoyant holly
tawdry drift
#

i genuinely havent thought of a reason why they spent time putting vrc on android besides involving microtransactions in some shape or form

zealous wigeon
buoyant holly
tawdry drift
#

i dont believe theyd ever ask money for users to upload their own content however

#

ah yeah

buoyant holly
#

So at some point the asset bundle has to be cooked for the platform it's intended for

#

Now the question is is it vrchat's computers or yours

#

Which is why you have to set the active build Target in unity

zealous wigeon
#

Definitely not an optimized method though

buoyant holly
zealous wigeon
#

It would need to be an entirely VRChat thing

buoyant holly
#

we are at the whims of how unity works

zealous wigeon
#

Is a generalized game engine though, no reason why they couldn't import data in other forms.

#

Neos experimental android build handles showing PC uploaded stuff.

buoyant holly
#

Vrchat is only in unity so what other engines could do is kind of irrelevant

buoyant holly
zealous wigeon
zealous wigeon
zealous wigeon
buoyant holly
#

Which is probably not a great return on investment

zealous wigeon
#

No, probably not.

#

Would be future proof for future platforms though

buoyant holly
#

And you would have to make your system somehow backwards compatible with asset bundles

zealous wigeon
#

Better than living with 3+ platforms.

#

But yes, huge amount of work

onyx hill
#

They will really have to implement third person view on Udon I assume

#

since most game worlds will probably want premade animations in order to cater to mobile users

buoyant holly
#

How does that have anything to do with Avatar optimization

onyx hill
#

now that we are talking about phones

buoyant holly
#

A third person camera would be a VR chat feature to implement or something you code into a world completely irrelevant to how well people make avatars

onyx hill
#

So things will have to start catering more towards flat screen users

buoyant holly
onyx hill
#

Why so defensive? You sound like compensating for something lol

#

I just came back from breakfast

zealous wigeon
onyx hill
#

I wish we could see how many people run Oculus client and Quest

zealous wigeon
#

We can

#

It literally says on the right, the VRCBot

buoyant holly
#

Actually you can see that the VR chat bot displays the total combined user account so just subtract the steam number from the bot number

zealous wigeon
#

Quest+OculusPCClient+Viveport 60-50% often, Steam 40-50%. Some times there are more steam users than the rest.

buoyant holly
#

And that the steam number shares PC VR and desktop users

zealous wigeon
#

And since practically no one will be using the former platforms to play desktop, it means that there are around 50-60% VR users, if we ignore the Steam numbers that definitely make that at least 10-20% higher.

onyx hill
#

So you say there are currently about 50% people in desktop and 50% people in VR rn?

zealous wigeon
onyx hill
buoyant holly
#

Unfortunately that'll be hard to measure because the bot doesn't separate out usage types

#

So quest users and mobile users will show up identically as far as our current measurement methods

zealous wigeon
buoyant holly
#

But after school hours definitely more VR users than desktop

onyx harness
#

Until IOS joins in I'd speculate that the phone playercount probably won't come close to either desktop or vr

onyx hill
buoyant holly
#

Currently only the highest end iPhone even has 6 GB of RAM

#

So honestly there's probably going to be more Android phones that meet the minimum requirements

onyx hill
zealous wigeon
buoyant holly
#

Especially since they don't want to introduce a separate ranking for mobile

#

So make sure all the mobile platforms have the same ram minimum requirements

onyx hill
buoyant holly
#

The Tupper already said the quest 3 is not going to increase the amount of resources available for the Avatar ranking system

#

As they want people crashing less not immediately filling up the ram again

#

So you're just going to have to get good at optimizing your content for mobile

onyx hill
onyx hill
#

Thing is, its annoying

#

15k polys is so low lol

buoyant holly
onyx hill
#

alright

buoyant holly
#

And they would still be supporting the quest 2 so that would just make it suffer if they increase the stats of the Avatar rankings

zealous wigeon
#

Oh

We are staying on SPS, which I think means we won't get less draw calls with 2021, ok. .

buoyant holly
#

Like it would be awkward for them to break the world that's on their website as their brand identity with treehouse in the shade

zealous wigeon
buoyant holly
#

Yes they solved the issue by just sidestepping the problem by pestering unity until unity gave them a patch to make sps still functioning in unity 2021

#

So they just kicked the can down the road

zealous wigeon
#

Oof.

buoyant holly
#

So yeah eventually we're going to have that content apocalypse if unity says no we're not going to keep patching it in

zealous wigeon
#

Would also be nice to have that extra GPU headroom, even if it doesn't make performance magically better in all cases.

onyx harness
buoyant holly
#

I'm honestly surprised general one has been the mellow as it is with the whole vrchat is coming to mobile phones ushering in quest kid apocalypse 2

zealous wigeon
#

I understand the downsides, but I know I will barely experience them.
For me all the mobile thing does is mean I extra won't ever go to popular publics, but that I can now more easily test my Quest stuff.

#

So I think it is just that most people don't exactly see it as a personal downside, if you get my gist.

radiant shadow
#

i rarely see questies , maybe 2 a month (no quest worlds)

buoyant holly
#

And also probably the it's initially VRC plus only

frail grove
#

not talking about you specifially

#

y'all doing a good job here

onyx harness
#

I mean, they're still not amazing. They're a whole lot better and will only improve but it's still pushing some crazy numbers.

#

Though, at least animator wise, I feel like people aren't gonna be too happy with the upcoming ones
Time has come again to force people to learn new stuff

lone delta
#

What's a good way to reduce vram

buoyant holly
#

Reduce the resolution on your textures

#

That's pretty much the only thing that's going to affect vram as crunch compression only affects download size

#

So for example if you have like a metallic map that's only big blobs of black and white you can probably reduce the resolution considerably on that and not have any noticeable difference

buoyant holly
# lone delta What's a good way to reduce vram

Hi, I'm Teeh. The VRChat Feb 16 developer update announced new changes to performance ranking. Let's take a look.

Need help? Wanna show off?
https://discord.gg/sippbox

VRChat Performance Ranking Documentation
https://docs.vrchat.com/docs/avatar-performance-ranking-system

VRChat Feb 16 Developer Update
https://ask.vrchat.com/t/developer-update...

▶ Play video
merry swift
#

fantastic video thanks for sharing

amber hemlock
#

The VRAM calculation in the SDK doesn't scrub past animations layers checking for new texture assets from material swaps. Trey does, and I think the in-game one also does.

#

If anyone can replicate it I think I should submit a canny bug

radiant shadow
#

vram checker got an update that also show it

amber hemlock
#

yes that's what's on the right side for me

#

SDK says I'm 4.8 MB (Excellent) but in-game and in third party vram tools, they show I'm 76 MB, from all the texture swap expressions. Huge difference

marble rain
#

i dont think its as bug. its more likely they just kinda forget to check for it.

amber hemlock
#

Do textures that come from animations not count against you in VRam? Shouldn't they?

onyx harness
#

Upload with all slots using a blank new material, mat swap to your 4k/8k loaded materials, shows as ~0mb when in reality it's like 500mb.
Already seen people doing it

amber hemlock
#

Yeah, that needs to be fixed fast since it's gonna be another avatar de-rank when they fix it

heady smelt
#

That's fun

#

I'm curious the sdk doesn't check the bundle it creates yk

#

Like if it is possible to access ingame it's in the assetbundle, so why not search the bundle for images and then assess from there

unkempt fog
#

it is bug?

onyx harness
# unkempt fog it is bug?

The sdk counts the same texture multiple times if used in multiple places. If you have 1 material you’re using 10 times it adds each texture 10 times to that total. Thrys only counts it once.

weak zenith
#

are parent constraints really impactful enough so that i should keep the number of them at minimal?

marble rain
#

yep. well not in the small quantity. it's more or less in the total amount based on all avatars in a world. a few of them does not do much. but 100s will

novel snow
#

I did the calculations and even if they do count all texture swaps, it should remain Medium rank

amber hemlock
onyx harness
#

we are in scary times

amber hemlock
#

I just want very poor block to actually block vram abuse :P

novel snow
#

I just want very poors to be blocked from being uploaded as public models :P

ivory sluice
#

not very poor but i'd be cool to have an upload limit above very poor like the very poor treshold plus its half, so like 105k polygons and stuff

novel snow
upbeat willow
#

How do I remove or disable physbone transforms? It's clogging everything up!

cold yarrow
#

You'll need to find the Physbone scripts (likely on the bones in your armature) and remove them or limit which bones they apply to

upbeat willow
#

I fixed it and now I know my avatar's size is too big :')

#

14.04 mb... jesus

rose sequoia
#

if your textures are not crunched, can try that to get the file size down a bit

amber hemlock
zealous wigeon
tawdry drift
#

might just be the flu thinking for me but that sounds kind of pointless. you can already choose to show or hide avatars on quest

#

its just that people don't care

#

ill rephrase, some people don't get the rankings and most don't care

merry swift
#

Making optimized avatars admittedly requires a lot of training and education that most people simply don't have the time (or motivation) for

#

The tooling being as flexible as it is is a double edged sword and there are always going to be drawbacks and compromises

#

VRC could spend their time endlessly tweaking every aspect of the performance ranking system ad infinitum, but I'd argue we're at the point of diminishing returns and would personally like to see them developing other stuff :p

tawdry drift
#

android microtransactions go brr

amber hemlock
#

It's the rank that has broken the scales

#

They can add a timed confirmation thing to it

#

Adding one worse than it will just give people more reason to make Very Poor content; "Well I'm not the worst one!"

#

It's the same as extending the limits

zealous wigeon
buoyant holly
#

I wonder if some of that's VRC having different ideas than the community as far as how many object toggles people should be doing

onyx harness
#

It's never felt like they've wanted people's daily avatars worn in publics with 20-30 other people to contain entire wardrobes. If you're in a world with just 4 or 5 people than taking up 4 avatars worth of resources can be fine argued. If all 25 people do that in a public, then you're gonna run into trouble

merry swift
#

Exactly. You can't wear more than one outfit at a time anyway, you don't need them all loaded at the same time.

cold yarrow
#

I usually do a separate avatar for vastly different outfits and such, there's no need to stick it all in one

obtuse hatch
#

Should I be or not be separating blendshapes from my main body?

cold yarrow
#

I've read the suggestion is if your mesh is over 35k polys there's some small benefit to separating the face/head mesh

obtuse hatch
#

So 23,000 Tri for PC and 9000ish Quest is pointless to separate then (This is not the fallback it will be lower)

cold yarrow
#

Quest you should have only one if you want to be not very poor

#

oh I guess medium allows 2

#

but yeah, no point in doing this on quest

foggy hamlet
#

How do I fix this?

#

Weird shading issue

ivory sluice
#

it's not a weird shading issue, it's just interpolating between the surrounding verts, add sharp edges to the corners too

cold yarrow
#

'cause this is literally on VRChat's site (though the number is 32k, I misspoke)

ivory sluice
#

it's a benefit if the mesh uses various blendshapes, which nearly all avatars do, so it's beneficial for blendshape processing time and mesh memory but not for draw calls

cold yarrow
#

Of course, I wasn't speaking of drawcalls.

ivory sluice
#

then blendshape-wise it's beneficial

cold yarrow
#

Right, I'm wondering what part of this is "false" then 🙂

ivory sluice
#

idk really, i just said what i know

cold yarrow
#

same.

marble rain
cold yarrow
#

I believe that's why they only suggested it over 32k polys where the benefit may outweigh the other additional complexity, such as the extra drawcall.

marble rain
#

blenshapes do not cause more performance degrade. if they dont affect the polygons

#

it will never outweigh it

cold yarrow
#

okay well I've read suggestions to the contrary by people who've done some research on this. Can't say I have myself.

marble rain
#

the potential twofold or threefold in drawcalls causes more issues

#

well. it comes from experience

cold yarrow
#

I'm sure it does

marble rain
#

90% of games suffer from to many drawcalls

#

and since vrc uses single stereo well.

ivory sluice
#

that's in case of a completely empty blendshape, but in case any data gets modified it will have to process all verts even if they don't move.
On the current unity version vrc runs on, blendshapes are calculated via geometry shaders, wich have to process all verts, idk if it was 2021 or 2022 but blendshape processing changed to compute shaders, which make it way faster

ivory sluice
#

why wouldn't it

marble rain
#

blenshapes only affect any directly weightpainted neighbor

#

whatever polygon group its assigned is the only part it needs to recalculate

ivory sluice
#

i don't think that's how it works when using a geometry shaders, but who knows

marble rain
#

shaders do not change it

#

its all compute

#

simple containers storing the data.

#

both cpu and gpu need to work on it

ivory sluice
#

yes but every shader type has its own extra steps, compute are faster because it's just compute, geometry shaders do more stuff as i've read

marble rain
#

obviously if it was fully gpu done yea well not much would happen

smoky trench
#

I want to work in getting my texture memory usage down, one thing I've never did is delete material swaps that I will never use. Will that effect texture memory or download size?
And if so, how in god's name do I do it? I was hoping it'd be as easy as deleting the animation, but it doesn't seem like it

cold yarrow
#

Download size - any textures not currently active and visible won't take up VRAM

#

But.... they do get counted

#

well the count is kinda inaccurate at the moment anyway 🙂

merry swift
# smoky trench I want to work in getting my texture memory usage down, one thing I've never did...

https://youtu.be/8F9K1QEPF6A
Get Thry's VRAM calculator and try it out. Worst case you can delete the textures from the project :p

Hi, I'm Teeh. The VRChat Feb 16 developer update announced new changes to performance ranking. Let's take a look.

Need help? Wanna show off?
https://discord.gg/sippbox

VRChat Performance Ranking Documentation
https://docs.vrchat.com/docs/avatar-performance-ranking-system

VRChat Feb 16 Developer Update
https://ask.vrchat.com/t/developer-update...

▶ Play video
#

Alternatively you can just set the resolution on them to 32, it'll take up about 700B usually but unless you're drag racing that's fine

#

To answer the question you actually asked, though - yes. It will affect texture memory and download size.

smoky trench
#

Thank you~

undone cradle
simple wagon
# undone cradle all blendshapes on a mesh store data on all vertices, they just offset the verti...

verts that aren't moved do seem to have less VRAM data stored when imported using import blendshapes or legacy normals. This image shows a 30,720 vert object with 10 blendshapes. In max data, all verts are offest randomly on each blendshape. In no data, no verts are moved, but the blendshapes exist.

This only accounts for VRAM. The gpu/cpu calculations for the blendshapes on render do seem to be dependent on all vertices whether or not they have displacement. Which is why its suggested to seperate meshes.

undone cradle
#

interesting!

#

also, nice.

marble rain
marble rain
#

each stored blendshape also only takes up as much vram as it needs in order to store the relevent change. that means if you create a shapekey in blender and only change lets say 128 polygons. then it only stores that 128 polygons and their change. and it takes up a small amount of vram. but multiple meshes will take up just as much. if not more. and the extra mesh renderer are not really desired.

undone cradle
#

when a blendshape is active it still has to do the change on the mesh renderer though, there's a balancing act where that can be more of a performance hog than an extra draw call.

#

of course, I don't have graphs, so I won't push too hard on this.

#

Likely it is far more important for mobile GPUs than desktop. 🤷‍♂️

bronze lantern
#

What would be better performance wise, My body is clipping through my sweater no matter how I move the sweater mesh it clips through so I am going to try something else what would be better using blendshapes or cutout to stop the clipping?

tawdry drift
#

theres no testing data i can send and even though its counter intuitive according to the stats doc, some people separate the head from the body mesh so blendshapes have less to calculate

bronze lantern
#

I have the mesh I want to blendshape merged with some others and total it's about 25k tris

tawdry drift
#

hrm probably negligible at 25k tris

#

i dont make wardrobes for my avatars so i personally just delete parts of the body that clip through whatever clothing im using

#

im sure someone else can tell you better soon lol

radiant shadow
#

uv discard em away (pc)

#

many ways to do it

bronze lantern
#

Reason I'm hesitant to do cutout is because someone told me if they had shaders off it wouldn't work

bronze lantern
radiant shadow
#

yes

#

it relies on toggle to hide/show part of your uv using a shader + 1 uv you set up in blender to shove parts into obvlivion

cold yarrow
#

(I do this though)

buoyant holly
undone cradle
#

UV discard would just always default to On in the case of disabled avatar features. 😅

#

since that part of the mesh would be shown by the fallback shader.

buoyant holly
#

So probably less awkward when you're just toggling accessories on the Avatar not whole entire outfits

marble rain
#

UV discard is not worth the hassle and it's not going to improve anything. plus the shader in use have to support it to. your better of doing a atlas and blendshape the extra accessories

buoyant holly
#

From what I've heard bone scaling is better than blend shape as far as performance

marble rain
#

i dont know who told you that but adding extra bones wouldn't do anything but complicate it. since animations would be required from blender

#

since u cannot scale humanoid bones in animation

buoyant holly
#

Like the vrchat optimization documentation notes blend shapes affecting a singular body mesh gets awkward

#

"There is an exception here! Calculating shape keys can be expensive, especially on avatars with higher polygon counts (>32,000) or when running on lower-spec hardware (Quest). If all your shape keys are on your face, it can be beneficial to split your face mesh from your body mesh, and delete all shape keys from your body mesh. This can be a more advanced technique. Because you have more meshes, it may negatively affect your Avatar Performance Rank, but in reality you'll be slightly more optimized. Remember, the Perf Rank system isn't perfect-- it is just a surface-level recommendation system"

#

Toggling multiple outfits is very likely to hit more than 32k triangles

cold yoke
#

the apex of optimizing v.poor avatars
used to be 500k polys and like 50 mats with clothing
now is half a meg of texture mem and two mat slots

#

how?
vertex painting (thanks rollthered for the idea)

buoyant holly
#

Yeah definitely noticeable it's vertex coloring with how the cyan line between the gray and the black looks

cold yoke
#

its a public of my main, meant so people can stunt double without killing frames

buoyant holly
#

Okay yeah that is some helpful context

cold yoke
#

now to tinker with the appearance a little so it looks appropriate

#

as in, not like rubbish

cold yarrow
cold yoke
#

funnily enough, texture memory has no effect on framerate unless you've maxxed out your VRAM
so getting it as optimized as this is pointless

ivory sluice
#

I like this shiny fella

buoyant holly
marble rain
#

and if 80 people 50 mb max

merry swift
buoyant holly
#

Pretty much any toggle method is going to run into it breaking if someone strips off the animation controller in the safety settings

thick marten
#

Any topology tips for connecting a head and body that have a different amount of edges with their edge loops terminating at different locations?

#

it's proving a bit of a puzzle because the edge count is both different & there is a seam that could probably do with bridging to keep the shape

I could add more rings to the head mesh to match the count of the body though that needlessly increases my tri count

#

if we only consider half the head (since it's symmetrical and can be mirrored over) I've gotta find a way to join 24 edges on the body to 20 edges on the head

thick marten
#

it's an absolute mess with several poles but I figured... something, out

proper grail
#

its easiest just to brute force equal edges by subdividing individual lines, bridge edge loop merge, fix up topology for its quads, than sculp tool slide/relax relaxing the joined area

thick marten
#

doesn't subdividing a quad's edge intrinsically create an ngon? one that can subdivide well into 3 tris but might still have deformation problems?

proper grail
#

what was the step after subdivide edges tho

#

after bridge edge loops i guess

buoyant holly
plush kestrel
marble rain
# plush kestrel Ok but nobody should ever go to an 80 person world though Nor have all 80 peopl...

thats just not true lol. there are plenty of massive events that have 80 people. and you still need to load them all. just fyi the grey robot is horrible and majority of the times yes you actually end up showing them all. the entier point of optimizing avatars/worlds is to gain a better experience for ALL. it does not matter if you have a 4090 and i9 13900k and have a great fps. while 99% of people have only just recommended specs or slightly high end like 4070 ti etc.

plush kestrel
#

Yeah nobody goes to those events with everyone loaded

#

Not saying it doesn't happen but majority of people that go there will not show everyone
And to be honest I think you're the first person I've ever spoken too that's been to an event with 80 players in a room

marble rain
#

have you actually been to any of them? yes people actually do load them all lol, club events, big events like furality

jovial charm
#

Hey everyone ! Sorry to bother. I saw it'd be better to split the body into different parts when we have too many blendshapes ( which is my case ) but how do you avoid the seam it creates on the neck ? I have weld vertices enabled on the mesh but it doesn't change anything.

#

Is there a way at all to remove that seam ?

plush kestrel
#

While i dont know the exact way of fixing it, I do know that's your normals making the seam visible

#

So gotta fix those

marble rain
cold yoke
#

tasteful and optimized version of my main avatar is complete, 67k polys, good performance rank, and only four mat slots (could be reduced but hhhh)

cold yarrow
toxic needle
#

People are talking about which areas affect optimisation the most but seem to be more opinion than fact. VRCArena did a series of tests here https://www.vrcarena.com/avatar-tutorial/performance-test that I'll summarise. Starting from their Poor rated avatar with 67000 polys, 5 meshes, and 12 materials:

  • Only reducing texture size increases fps by 4.8%
  • Atlasing to 4K without merging meshes increased VRAM usage by 150% and decreased fps by 17%. 2K textures increased VRAM by 30% and increased fps by 3%
  • Merging meshes without altasing increases fps by 6.9% (nice)
  • Baking blendshapes increased fps by 9%
  • Decimating by 50% increased fps by only 3%
  • Removing bones to only the basic skeleton increased fps by 12.5%
  • Removing contact receivers and triggers increased fps by 13%
  • Having a discord call active in the background tanks performance by a non insignificant amount

My conclusions from this and my own findings are:

  • on current hardware, reducing polygons (excluding obscene 200,000+ poly models) does not have nearly as much of an effect as merging meshes according to VRC docs (blendshapes on one mesh and everything else on another) and atlasing textures into 2 or so high density ones, and so instead this should be the first step in optimisation. This process also dramatically reduces VRAM usage on its own just because of the reduced materials
  • bones and other moving components in general are expensive so dont think using bones or blendshapes for toggles will ever be better than having different avatars for different outfits
#

Data is what we need more of in order to find the most efficient use of time, and is the sort of thing that would have helped me when I first started out and didnt know what to focus on.

bold wharf
toxic needle
#

I've looked all over but havent found any comparisons for animations, that is perfect

marble rain
#

what ever this person did in these tests are wrong. since you can't really create a atlas from 5 different meshes without merging them. and even if you could reducing the overall material amount from 12 > 1 or 3 in this case as to what that test says. those 3 atlases will not exceed nor cause more vram then those 12. and to make it worse. they are not stating what size prior to atlas.

#

quote this even It appears that only atlassing textures makes performance worse.

When we lower the resolution to a max of 2K it gets even worse!. i am sorry but that is also just fake information lol

#

lowering a resolution from 4k > 2k reduces fps. no i am sorry but that is not possible

toxic needle
#

you can use the same image multiple times over multiple meshes so yes you can, I'm assuming thats what they did

marble rain
#

thats not atlasing then

toxic needle
#

the image is yes, but not the meshes, that was tested seperately

marble rain
#

thats still not a atlas.

#

atlas purpose is to merge and create a texture based on all present meshes.

#

the way they assumed testing is outright just putting all the wrong information out.

#

if your telling me they atlased 9 textures and still have 9 textures its not a merge.

#

thats just outright doing it wrong.

toxic needle
#

correct, the point is that an atlased image is useless without merging the meshes

marble rain
#

again false

#

if you have 3 meshes.

#

and each have lets say 5 materials

#

you can effectively reduce it to 1

#

for each

#

so instead of 15

#

it would be 3

#

and by merging it

#

you can effectively make it better

#

3 > 1

toxic needle
#

thats the point I'm trying to make as well

marble rain
#

well you did say its useless without merging

#

and its not

toxic needle
#

One image texture thats used for 12 materials is still 12 materials

marble rain
#

atlasing textures is one of the biggest performant gaining methods regarding drawcalls

toxic needle
#

and again I agree

marble rain
#

you will never have 12 materials in that case.

#

the point of atlas is to reduce material count

#

its not to make 12 seperate same atlas.

toxic needle
#

Indeed, RIP to past me who had to find that out the hard way when I was learning

marble rain
#

anyway. i really hope people dont use that VrcArena test. its not conclusive nor correct, nor informative at all. it's lacking information regarding how they apporached the test. what resolutions etc

#

and honestly producing a proper test is just time consuming

#

and i fully understand people need that. to see results obviously

#

plus. doing a good test requires each sub catogory if what goes into making an avatar to be tested. requires a minimum of 10 seperate runs for each catogory with a restart of vrc inbetween to deload everything and ensuring that the tests are valid. then taking the minimum, maximum and average of each is what can be concluded as a good test

toxic needle
#

I dont think its supposed to be used like that in the same way that JustSleightly's test that Le Poisson posted is

marble rain
#

used like that? use what

toxic needle
#

as a conclusive controlled scientific experiment, it looks like a simple test trying out the most common options to see what each factor contributes

marble rain
#

well the test that guy did for animation is far more proper.

toxic needle
#

the less precise the test, the less precise the results. To me the vrcarena results only provide general recommendations

marble rain
#

it does not even provide that. cause of the inconsistent results and information they give.

#

it will give a person with no experience a wrong impression on whats good. and whats not.

#

for instance with atlas.

#

they would think making a atlas from 8 textures is worse then having 8 seperate textures.

#

while its obviously the complete opposite

toxic needle
#

How so? they state that the test is for the images only and so must be done properly to gain the benefit

#

Unless thats not how polytool works, ive only ever done manual atlasing since the CATS tool annoyed me so much

marble rain
#

in that they are saying things that will provide the wrong image to people. again for instance with atlases.

toxic needle
#

A texture atlas by definition is just an image that combines/contains multiple other images

#

By doing that and not combining anything else you get the decrease in performance that the data shows

marble rain
#

not really no

#

yes its a image but its combined

#

but what they are doing is not a atlas.

#

and they are show casing it wrongly to

#

and misguiding people

toxic needle
#

Its not misguiding, thats literally the point they are trying to prove

#

That you shouldn't be using it that way

marble rain
#

thats not what its saying through.

jovial charm
marble rain
tawdry drift
#

make a doc yourself if its so awful. the doc should probably put a disclaimer of "these are just my tests im not an expert yadayada" but you act like you know everything about the optimising stats vrc reccomends

#

the doc comes off more as an interesting read anyways

marble rain
tawdry drift
#

i say act bc of your attitude lol

radiant shadow
#

amount of time you spendt in discord , looks like you have plenty of time

tawdry drift
#

if you have your own docs to show people of your personal tests id be curious to see what your high and mighty methods affect but otherwise you just come across arrogant and rude

marble rain
tawdry drift
#

proven my point lol

marble rain
#

no not really

#

your just trying to stir up pointless arguments.

tawdry drift
#

naw, i had just seen you still making comments about it after waking up

#

seem to have enough time

marble rain
#

again its sunday. lol or rather weekend. plus doing it would take possibly weeks of testing and documenting. which i really don't have time for. and second taking a small amount of time to guide people is more reasonable. and preferable

cold yoke
#

TIL that I can optimize the heck out of my avatar by reserving all the shapekeys a seperate face mesh, with the rest of the AVI as a seperate, static mesh

proper grail
#

well, separate skinned mesh usually

#

and all that fun stuff is goin right out the window when vrc updates to unity 2021 so learning it this late in the game is uh... plainly, a waste of time

toxic needle
#

is there a timeline for the update?

proper grail
#

Just that it was announced in progress in the march 30th dev update

toxic needle
#

closed beta next WEEK?

rose sequoia
#

I'm glad I left shape keys for last on my giga-optimization adventure

marble rain
#

a skinned mesh renderer is a additional component, which in turn creates one more draw call + x amount of textures. and it requires both the cpu and gpu and vram, and it's complexity in turn also increases drastically. on the other hand a blendshape is all but a container of information holding the vertices position, rotation and it takes up only vram and requires cpu and gpu once it gets activated so 0 > 1 or 1 > 0. and if i remember correctly Vrchat uses Single pass instance rendering. so it doubles the draw calls so 1 is suddenly 2.

bold wharf
toxic needle
#

definitely looking forward to the unity update now

novel snow
#

Which is more performant? One drawcall with a 4k texture or 3 drawcalls with 2k textures?

zealous wigeon
novel snow
#

Yep

#

Also would be using atlases of normal maps and mask maps

zealous wigeon
#

Even if it is only 2 less.

novel snow
#

That's what I figured would be the lesser of two evils

regal basin
#

huh is the VRAM measurement in the SDK bugged? Thry's tool, as well as if I just add up the numbers manually, it comes out to around 9mb... but the sdk shows ~27mb. I'm used to a little difference but this is waaay off

proper grail
#

thrys shows all referenced materials textures and mesh data, sdk shows all referenced materials textures at the time you first looked at the build page (might require a refresh by entering and exiting play mode), in game shows as uploaded loaded materials textures only (no mesh or mat swaps)

distant osprey
#

Ive got this Error. I know how to fix that but my avatar has 20 Audio files (some very short SFX, others are full songs). Whats more performant? Hitting the load in the background checkbox or changing the load type?

marble rain
#

well you have to do enable it otherwise u cant really upload i am sure

distant osprey
# marble rain well you have to do enable it otherwise u cant really upload i am sure

I can also upload it with Load in Background unchecked but Load Type changed to Compressed in Memory or Streaming
I'm just not sure how it infects performance and when you have to use Decompress on Load and when Compressed in Memory or Streaming
I have nearly everything on this avi. From short SFX to whole Songs to a clip which is 24/7 looping

marble rain
#

there wont be any performance hit.

lone tiger
wind locust
#

Hey, is it a good idea to just bake all of your materials/textures onto one texture file in blender so you only have one material for your model?

ivory sluice
#

It is a good idea, but if you see your baked texture resolution is excessive or some parts of the avatar need a different shader you can split it on more than one material.

it's good for performance but you can always have more than one, the thing is to not go to a high material count

cold yarrow
#

I usually try to aim for two, but yeah, that method

wind locust
wind locust
#

Am i misunderstanding something here?

#

i thought it was possible to combine mutliple texture images into one in blender, everytime i try to do it it messed up

pulsar valve
#

Do you mean Texture Atlasing? I found that doing it on the newest version of Blender with Cats Plugin cause it to break the texture mapping, but when I downgraded to Blender 2.93, it worked just fine.
There might be a better way to fix it. I'm just mentioning that downgrading Blender is what fixed my issue.

#

also it probably doesn't have to be 2.93 specifically, that's just the only version I tried.

lone tiger
#

For Blender version above 2.9* you need to use development version of CATS.

wind locust
#

it's not a performance issue for my 1 material to be 4k, right?

#

i just made it so to make sure when baking the UV islands have enough space in-between each other

wind locust
#

https://www.youtube.com/watch?v=wsO1eozb1Qk for those that have a similar issue in the future and stumble across this searching this channel, here's the tutorial i followed

In this Blender tutorial I will show you how to bake textures from one UV map to another UV Map.
● Texture Baking for Beginners: https://youtu.be/Se8GdHptD4A
● Texture Baking Tutorial Playlist: https://www.youtube.com/playlist?list=PLsGl9GczcgBvJPh7D_ITafvmTW7ZzQTEr
● UV Unwrapping for Beginners: https://youtu.be/qa_1LjeWsJg
● Wood Texture: http...

▶ Play video
#

3 of my 11 materials were textured based, so i had to follow the above tutorial for them

#

the others that are just solid color materials, i just followed regular baking stuff

#

what 8 materials and 3 textures smushed together into 1 4K material looks like

wind locust
#

uhhhh

#

dat... doesn't look right

wind locust
wind locust
#

Hell yeah!

#

from 11 mats to 1

#

lets goooooo

cold yarrow
buoyant holly
obsidian path
ivory sluice
#

yea

sick timber
#

I am in physical pain looking at this

pallid drum
#

841 bones??????

ivory sluice
#

The fact that this doesn't even get close to most badly optimized avatars is horrible

novel snow
ivory sluice
#

Sometimes i wish vrc added the avatar cap again, i've seen people showcasing 1gb vram/1M+ polygon avatars as if it was nothing

limpid cargo
#

most of my stuff is medium on quest and good on PC with only one avatar being poor on quest/medium on PC, which I plan on changing actually since poor is hidden by default moment vrcVPoorThinking

cold yarrow
#

wow that must have lots of assets applied via the stupid "duplicate the whole armature" method

snow knot
#

I'm actually impressed that it's 24 skinned meshes at only 74k polys. Usually when you see an avi with that many skinned meshes it's hitting the 1M poly count.

stable badge
cyan osprey
#

Should I disable physbones that are not currently used (when specific clothing item is off)? Does it have a significant impact on performance if I leave them on?

grizzled shard
#

PhysBones will continue to calculate as long as the script component isn't disabled, either directly or via its parent(s) being disabled.

cyan osprey
grizzled shard
#

Correct. Assuming you disable clothes by disabling their object, you can simplify a bit by having the PhysBone component ON the clothes object.

river obsidian
#

I'm trying to optimize an avatar for the first time. Very new to Blender, used CATS plugin to combine some skinned meshes and reduced triangle count from just over 70k to just under it.
I exported the model as an FBX, and imported it into Unity. I didn't touch it at all and tried to see what the stats are when uploaded, and it's saying I have 2 billion polys??? Does anyone know what's up?

buoyant holly
# river obsidian

"In there under "Meshes" there's a checkbox called "Read / Write Enabled" ensure this is checked on for all meshes on your model"

river obsidian
toxic needle
#

Just in the sdk menu, auto fix everything except maybe the shader keywords

river obsidian
#

oh wow, I'm dumb haha. That fixed it. Thanks for the help guys vrcHappy

rose sequoia
#

Does anyone know if I import an fbx that has it's own armature with bones weighted to a mesh (skinned mesh renderer) - such as a hat with dangling things on it - do the bones on that fbx count towards vrchats bone count perf stat? Or does that only count bones from the avatar's aramture?

lone tiger
#

It counts it from everything.

rose sequoia
#

Ah, so all bones in any "armature" ? Cool gotcha

hidden geyser
fervent heart
#

So i have a few avatars I found that I want to optimize in order for it to be viewable by quest players. Where should I start?

toxic needle
#

Generally skinned meshes and materials down to preferably 1, basic skeleton without too many extra bones in the hair, tail etc and get polygons under 20k.

#

Serious quest optimisation is challenging if the original is as dense as most PC avis are

fervent heart
#

Yeahhh this is gonna be a challenge.

toxic needle
heady smelt
#

Doable

#

Delete anything under clothes to start, decimate the hell out of the body, but don't touch the face because it will screw up the blendshapes.

#

You might be a floating head on a stick if the avi doesn't give you much room though 😆

toxic needle
#

The hair and face take up half of the 60k polys on my primary PC avatar, so if it was me making a quest avi I would make it mostly from "scratch" (assembling quest-ready parts) but thats only because I have no patience

heady smelt
#

Just bake your whole avatar onto a flat plane and call it a day for the quest

toxic needle
#

a single polygon that is just a flat png

#

it is absolutely doable if you're willing to put in the time, a lot of youtube tutorials can help explain the basics there (eg the deleting of the mesh underneath clothing) as theoretically the principle is easy for what you want, a basic quest viewable one. Read through the article a give it a go, whats the worst that could happen

heady smelt
#

Honestly though, at some point, if you really want to optimize in an optimized way, you have to probably construct a lower poly model and bake the normals and textures from the high to the low. You can usually do a weight paint transfer well enough, but you would have to UV unwrap the low poly and make blendshapes for it.

radiant badge
#

New to unity and trying to swap my skinned meshes to static meshes, does anyone happen to have a link to a walkthrough? Would be much appreciated as it dosen't seem to be as straightforward as adding a static mesh component and dragging the material onto it

toxic needle
#

thats not necessarily how it works

#

As a generalisation, something that moves and deforms with an armature (eg the avatar skeleton) like skin or clothing cannot be a static mesh

#

i believe exporting a bare mesh in blender without an armature makes it static but I may be wrong if anyone can correct me

radiant badge
#

Ill give it a shot ty :)

forest chasm
#

two of my avatars have been having this problem where It says its too big for Quest yet I had uploaded avatars that had more things and generally bigger file sizes but all of the sudden, it says I can't upload to quest even when the avatars small.
all of my past avatars were poor quality and were bigger sizes then my current model. idk its a bug or new feature

cold yarrow
ivory sluice
forest chasm
ivory sluice
#

i'm not sure why that could be, if it's not that you added something or any material has an unused texture saved it might be some sdk update where they changed whatever calculates the avatar size

forest chasm
#

Perhaps, I could always so a test and put all my materials together (though there are only 4 with bumpmaps)
I even tried making my avatar really small in Blender and crunching all the textures but the SDK still said that the file size was the same as the PC verison (which is impossible since I made the textures the smallest size they could be.)

pallid drum
#

Have you done crunch compression for the textures

forest chasm
#

I have done crush compression for all my textures, including bumpmaps.

radiant shadow
#

mesh can be over 10mb depending on size/blendshapes , id check how large that is if textures not doing much, crunch is last thing id do

#

if you set crunch to 100 its not doing much , 50 and below reduce it alot but tend to get ugly

forest chasm
#

I could try manually crushing down the textures using my art program.
Its weird since the height/size of the avatar is fine, it's even below the POV ball thing for seeing.
And I have no blendshapes at all on my model.

#

Though its bit high on poly, I have a higher poly avatar that's just below the maximum limit, but still that avatar could be ported to quest just fine.
I gonna look at the unity file for that avatar later to see if the whole 10MG problem message pops up even even though I ported to quest long time ago.

pallid drum
#

Do you have any animations that take up a ton of space?

forest chasm
#

No animation at all
Except for the toggles, which aren't even animations, they're just transitions for props with poiyomi shader
Which dont ecen work on quest so I'm sure it's not that.

forest chasm
#

I'm pretty sure I dont have unused textures still saved since I always check my blender file for duplicates of the same material and always delete ones I'm not using.
Its very strange ,could probably be a problem with my computer but not sure.

bronze lantern
#

What are some common things I should atlas? Should I be atlasing my clothing, or stuff like atlasing all the textures on my face? Like eyes, face skin, mouth, etc

proper grail
#

Atlas based on how its going to be compressed. Opaque rbg vs cutout/transparent rgba. Atlas everything if the texture import settings will stay the same between use cases. Having only one copy of the texture that is used multiple times is the idea

#

Keep space/resolution in mind though, a 4k texture is four 2k textures. Loosing detail is not the ideal situation but sometimes things like solid colors can be squished to basically nothing

#

Leaving more room for details yeah

bronze lantern
#

So if lets say my pants and shoes that are 4k textures were atlas would I be losing details?

proper grail
#

Oh yeah, can preview the loss just by setting the texture to 2k in unity texture settings

bronze lantern
#

From what I watched the more the UV is scaled the better quality it'll be, so it's a matter of figuring out what needs more detail and then scaling and fitting everything else

forest chasm
pallid drum
#

Are you using VRCC?

forest chasm
#

i have it downloaded but didnt use it on this unity file yet. let me add this file in vrcc

#

is there a thing to click that could fix this in vrcc

pallid drum
#

I’m VRCC you just go to manage project and remove the SDK and reapply it, seems to sort out a lot of issues

forest chasm
#

i somehow fixed it just by trying again to upload on quest and it let me, and the error isn't on the sdk anymore?? guess it glitched out or something

sick relic
bronze lantern
#

So If I have one specific object as a separate mesh renderer what is the better toggle method, UV Tile Discard or Just Animating to turn it off

snow knot
#

I'd lean toward toggling the mesh renderer personally. UV discard won't work if people are seeing your avatar w/ shaders turned off.

bronze lantern
radiant shadow
#

toggle requires animation on anyway , but if they have shaders off > no culling and majority of pc ones terrible then , more meshes - bad , so i stick to uv discard (fallback shaders ick)

snow knot
#

Fair, merging meshes/materials and uv discarding is def the better option. I think in their case, if they can't merge/don't want to merge that seperate mesh toggling it is probably the easier of the two options. Like if you're gonna uv discard you should probably go the full mile and merge.