Developer Update - 8 September 2022

Its not calculated, its usage raported by DirectX API forwarded by Unity memory managment systems. Note that GPU need to uncompress textures to display thats why games thakes GBs of vram so easily

I need to correct you here: there is no interface available within Unity to see the actual VRAM usage of any given asset. We perform an estimate based off of the description of each of the texture formats and types, sum it up, and then provide it.

In some odd cases, it might be wrong. In those cases, you should let us know! We’d like to try and make it as accurate as possible.

so far i was using Thrys Avatar VRAM Calcutator v0.2 that shows all Textures and meshes with information of Compression and other stuff where i sometime even found textures in the material thats was not even visible in the shader menu because of switching form one shader to a different shader.
so far most of the avatar i tested are around 10-20mb different to the VRChat menu estimated size.
But if i look at my Airplane Dragon Base what has different parts and so with 6 parts and so 6 different materials with Texture and Normal Map in 2k with normal compression comes with the Thrys Calcutator to ~72 MiB VRAM usage but in VRChat is shows it will use 600MB VRAM and thats a big difference and i dont know why and how to make it smaller without going down to a resolution of 256 with compression and still lands over 300mb.

A Calcutator in the SDK or a addon you can load over the Creator Companion would be really helpfull and maybe some recomandation what compression / Format are the best without lossing all the details

That sounds like a bug. Can you please report that to the feedback boards, ideally with the avatar ID in question?

I tried to tell you before, the compression format doesn’t matter to vram usage, mostly only the resolution matters, because it’s decoded into raw bitmap data in memory. If you want to know the real memory usage, run play mode and use unity’s memory profiler. Don’t expect Thry’s editor to necessarily give you correct results. Also check to see if your materials aren’t trying to fetch a bunch of extra texture assets in your package.

ok so i uploaded the same avatar with 4k Textures
2 time 4k No Compression = 184,02 MB Texture Memory 3,99MB Download size
2 time 4k Normal Compression = 34,69 MB Texture Memory 2,55MB Download size

if it were true what you wrote, both must consume the same thing, which they don’t.
So compression is still importent for the VRAM or the VRChat display is wrong.

I don’t know if this is a known issue or just me but I can’t get my mic to pick up correctly in game, I had to completely turn up all my mic settings, and raise my voice still just for it to hardly pick up my voice. I tested my mic out on discord with a friend and they said that there isn’t anything wrong. I’ve never had this issue before and I haven’t played in about a month, so something within that time has caused it not to work. (btw I am using a razer blackshark v2 that uses a usb connector if this helps in any way)

Encryption won’t ultimately solve anything and will only lead to performance degredations. VRC have already taken steps towards locking down the API to make it much, much harder to directly download assetbundles, and local cache isn’t exactly formatted with plaintext either. Despite that, the simple fact remains that for as long as your computer can load and render someone’s avatar, it can be extracted and re-assembled with enough tenacity and experience. (AAA game companies have been attempting to thwart this for decades and game assets still get ripped within days after release, sometimes hours). I’ll concede that EAC being in the equation now inherently would make it harder for malicious actors to reverse-engineer encryption efforts done by VRC, but considering the vitriol they often end up finding themselves pitted against in cases like these… it makes sense that their time would (currently) be better spent improving security elsewhere or working towards features for the betterment of the majority of their userbase, rather than play the same cat-n-mouse game people have been for decades.

The only foolproof way to stop avatar ripping would be to cloud-stream literally everything… which… uh- yeah that’s not gonna happen :woozy_face:

That’s not remotely how it works. The entire point of GPU texture formats is to be read compressed directly from memory as efficiently as possible.
A quadratic 4K texture (with mipmaps) will use:

  • 64MB Uncompressed without an alpha channel (RGB 24bit)
  • 85.3MB Uncompressed with an alpha channel (RGBA 32bit)
  • 170.7MB Uncompressed with double precision (RGBA 64bit)
  • 21.3MB Compressed with an alpha channel (DXT5 / BC7) [Unity default]
  • 10.7MB Compressed without an alpha channel (DXT1) [Unity default]

Unity will default to DXT1 with normal settings and no alpha channel, DXT5 with normal settings and an alpha channel, and BC7 with “high quality” compression set. So it’s safe to assume that 99.5% of people will have 4K textures that use anywhere from 10.7-21.3MB of VRAM or so. (8-16MB if they turn off mipmaps, which is usually a bad idea). Point is, texture format matters just as much as resolution. Keeping your texture memory in check requires being mindful of the quantity of textures being used, how large they are by dimension, and how they’re being encoded.

1 Like

I was referring to the compression format, not if they chose to use say BC4 for mask textures vs not. For example using a crunched DXT5 for monochrome mask or for a roughness map or something is smaller filesize, but a BC4r will be smaller in vram. It depends on channel presence and bit precision, nothing else.

The size is based on channels and their total bitmap size, not whether it’s compressed or not. Most people are under the false impression that crunching makes it smaller when it only makes it smaller on file. You are misunderstanding that even if a DXT5 is reasonable small on file compressed, it decompresses into raw bitmap data in memory. It doesn’t render it as a DXTn/BCn or whatever you set it to, it decodes it into bitmap (unless it’s already raw bitmap then it just loads it as is without decoding). RGBA8 will always be RGBA8 in memory, even if it was a DXT5 first.

If anything, people need educational guides on texture import configuration, and the reasons why they should or shouldn’t use certain ones in various situations.

1 Like

How about the ability to add your own custom images in the new 2.0 Menu ?? Another VRC+ feature that could be really good! Doesn’t have to be 3D or have any cool effects, as long as it’s a custom picture it’s fine!

Cool update!

It would be really nice to have the ability to change the distance for the face mirror, some smaller avatars have the mirror shoved right up against the face which makes it kind of useless to check expressions.

If you implement the avatar viewpoint tweaker I will leave a positive review on Steam

1 Like

Okay, I got some ideas:

(1) Add text chat, like you can DM people, and even create group chats.
(2) Add notification sound to the chat box. I’m texting people, but they don’t notice the message sometimes.
(3) Add FOV setting. At least, from 60 to 100. Pretty useful?
(4) Add controls settings. Like: If I want to change the crouch button from Z, to CTRL.
(5) Add: “Subscribe to this creator”, and then it will show you, all the maps/updates of the content maker you subed.
(6) Add setting, to show your nickname in the mirrors, and when you look up.
(7) Add new emojis.

I think that’s enough, and I hope you’ll add at least one of them. Good luck, and thank you for the updates!

A cool idea would be to add an option in the mirror stuff to level the mirror to be straight forward, up, or down. It’s a hassle to keep trying to make your head face the perfect direction to make your mirror align with a wall or the floor.

Oh yes! I would love to see those features on a future :smiley:

Thats atchaly a good idea dev pls do this

That’s a terrible idea. What bad things would happen? And getting Trusted with VRC+ isn’t that difficult, so users that’d use search maliciously (if that’s even possible) still can.

It’s there, just in the middle. There’s so many options now that clicking the arrows skips over the focus button.

1 Like

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