Quest Particle Shader!!
tracked
Lydrie
Since 3.10 came out the option for "mobile multiply/additive" are broken!! across all SDK versions!! They work in unity and the sdk allows us to select them, but they break in game! I AM aware "vrc does not support transparency on quest" yet myself and MANY other creators have been using these shaders for at least over a year and have had NO issues until now!! I ask that you please look into this as MANY of us cannot create for quest until you fix it! : /
Log In
Lilyyy6_
FIX I FOUND A FIX AAAA
Ok, so usually when doing the quest version of the model, you would create a new project and change the shader of the pc material directly, or you would CTRL + D the material and then change the duplicate. I think by creating the material this way, it inherits some of the VRCFallback properties we don't want, because it makes the particle shaders not work.
So to fix this, simply right click in assets and do Create > Material. Then name your material. Then, change the shader to VRChat > Mobile > Particles > Multiply/Additive and add your texture. Using this new material that hasn't inherited any unwanted values, particles will again work on quest. :)
I think everyone should test this method and see if it is a temporary fix while vrchat gets the game to not make particle shaders be blocked and fallback when there is a VRCFallback tag listed.
Dexvoid
Lilyyy6_
Thanks very much, this is a positive repro. It appears to be due to logic in Poiyomi that applies override tags to materials without then clearing those override tags as you switch the material to a shader that isn't controlled by Poiyomi. We are currently investigating possible solutions.
This appears to be a long standing issue, so I'd be interested in knowing if other voters also believe this might be causing their issue.
As a small clarification, the shader is not being blocked; the material is being uploaded with a custom tag instructing the client not to use transparency, so that's what it's doing. The client will only resolve properties like transparency based on the original shader if it does not manually define overrides using
VRCFallback
.LunnaBug
Dexvoid from reading the documentation you linked in an earlier comment about VRCFallback, it seems the fallback should only take effect if the shader is blocked, it shouldn't override the shader. Unless you are saying that the VRCFallback tag was replacing all the other tags in the material? I did see multiple tags that said transparency related things (via images of the shader's code in this thread) so if for some reason these tags were being removed it would make sense that the fallback would take over. Overall, having a fallback option for something shouldn't override anything, that is not expected behavior and doesn't align with what the documentation says.
Lilyyy6_
Dexvoid The shader I converted from was actually lilToon, not Poiyomi. Maybe they both have a similar issue?
Dexvoid
XMidnightAngxlX Lilyyy6_ Thank you for the examples. Both of these avatars are using particle additive/multiply shaders with VRCFallback tags applied to them, per the system documented here: https://creators.vrchat.com/avatars/shader-fallback-system/
This is leading to the client being instructed to use non-transparent materials. A build of an avatar using particle additive and multiply in a vanilla VRChat avatars project in SDK 3.10.1 has no custom fallback tags applied to it and is therefore appearing as it should do on Quest.
To help with further investigation, please can you confirm the list of curated or community packages you are using in your avatar projects (if any) and their versions?
Lilyyy6_
Dexvoid Thank you for looking into the issue. For the Selestia avatar, my first comment with images, I have the following packages installed:
Gesture Manager 3.9.6 (Curated)
VRCFury 1.1275.0 (Community)
lilToon 1.10.3 (Community)
Modular Avatar 1.14.3 (Community)
Non-Destructive Modular Framework 1.9.4 (Community)
Lilyyy6_
Dexvoid The 2nd avatar with the working particles has the following packages:
Gesture Manager 3.9.6 (Curated)
Avatars 3.0 Manager 2.1.2 (Curated)
VRCFury 1.1265.0 (Community)
lilToon 1.10.3 (Community)
Modular Avatar 1.14.3 (Community)
Non-Destructive Modular Framework 1.9.4 (Community)
Lilyyy6_
Dexvoid A question I have: why would VRChat be using the listed fallback shader unless the particle shader was being blocked? Why does having a listed fallback shader cause the particle shaders to be blocked? Is there any way to manually remove the fallback option in the shader/material?
When editing the multiply and additive via text editor, the tags section does not include the VRCFallback tag (image attached). Would the tag be attached to the .mat? I currently don't know how to open that file.
I uploaded another test avtr_4391b7c2-fceb-4197-97f3-a807f692902b, and for this one I edited and saved the additive and multiply vrchat shaders with the added tag "VRCFallback"="Particle" (2nd image attached). The in-game results are the same, but I wonder if the tag attached to the material/shader changed on your end? I assume you have more in-depth debug tools as a dev.
Lydrie
Dexvoid Vrcfury was the only thing added in my package when i converted! and heres all the versions I was using as well!
Dexvoid
marked this post as
tracked
Lilyyy6_
I have a slightly different but related issue with the particle shaders on Quest. So in Unity, the blush and eye covers work as expected, but in-game the entire mesh turns white. This happens with additive, multiply, and using both together.
avtr_81162676-34d8-4b43-a242-76965b1b8bf8
SDK 3.10.0
game build 1769
The first two images show the desired Unity behavior, and the 2nd two show the in-game behavior.
Lilyyy6_
The avatar avtr_5cd69e47-90f7-4fe4-b800-7006af619d95 also uses VRChat > Mobile > Particles > Additive and the facial addons seem to be working? same game build but the sdk is 3.9.0. It is also a different avatar base.
Dexvoid
Hello again, this is a reminder that we still need an example avatar demonstrating this issue to be able to make progress with it. We haven't been able to reproduce this issue internally with the particle additive or particle multiply shaders, so this report may be closed soon unless we receive at least one avatar suffering from this problem.
Avatar IDs start with
avtr_
and appear in the URL at the top of your browser window when looking at your avatar on the VRChat website - please reply here with the ID of an avatar having an issue with the shaders I mentioned before. Any voter on this issue can help out by providing an example. You don't need to make your avatar public if it's currently private.XMidnightAngxlX
Dexvoid avtr_b52e486e-8017-4d71-8586-80a5d578aba0 Here's an example! This issue is still happening as i just recently uploaded the quest side to this avatar using the new sdk we are supposed to be using now and checked it myself last night so hopefully it can get fixed soon, Thank you.
Dexvoid
marked this post as
needs more information
Hi, thank you for your report.
Unfortunately, we haven't yet been able to reproduce this issue - avatar materials using the shaders
VRChat/Mobile/Particles/Additive
and VRChat/Mobile/Particles/Multiply
still seem to be rendering with transparency on Quest in 2025.4.2, build 1768.Please provide the ID of an avatar showing this issue. You don't need to make the avatar public if it's currently private. Thanks!
berryaxolotl˖·˚
vrchat please stop messing with quest stuff, we're already in the trenches as it is.
Lydrie
I forgot to mention, MOST heads do NOT come with quest options.. we have to make them ourselves!!! This stumps our creation, tremendously!!
ChiefSplit
As someone who quest converts for many creators; I have to agree. Taking away this option for questies after supplying it for about a year, maybe longer; is truly disheartening. Quest should be able to see the lashes as we do since they have shaders for it; not as blocky bits. VRChat knows they can handle it, they should bring it back.
LunnaBug
Multiply and additive was the closest thing we ever got to cutout or transparency. Apparently technically it isn't real transparency, because it just lightens or darkens or something, but for users it's basically the same thing. Please restore the functionality of additive and multiply in the vrchat SDK.
Load More
→