Several Feedback (RenderType/ShaderPath/Root Image)

pthongsari 3 years ago updated by jackielo 2 years ago 2


Thank you for developing the tools, It greatly help reducing the time we need to develop the same result without ShaderWeaver. :)
After using ShaderWeaver in a card game production for around two months, we came up with several suggestions and feedbacks that should help actual production.

Here are suggestions based on ShaderWeaver version 1.2.1c (I see that we now have 1.2.1d so I believe the bug that I encounter should be addressed and fixed, I will create additional ticket if I found any bug in newer version.)

1. Add "Opaque" as optional RenderType. The game has planned for Mobile development and currently use 3D Card model to create round edge in PC version. Thus, there is no need to use Transparent type shader in our project.
Having option such as Opaque alongside TransparentCutOut and Transparent should also help with performance on both PC and Mobile.

2. Add subfolder for ShaderWeaver. We are currently creating more than hundreds of unique shaders with ShaderWeaver. The ShaderWeaver will always have shader path as "ShaderWeaver/Example01”. However, when the number exceed 50. It became harder to navigate. I believe that by adding a tag that create subfolder inside shader path. It will help organize those shader easier. In my Opinion, one subfolder layer should be more than enough but more layer won't hurt.
For example, I have 2 Deck of Card the use Shader Weaver to create special effect, each deck has 100 cards. I can add tag "Deck01A" to first 50 shader and the shader path should become "ShaderWeaver/Deck01/Example01” and the next batch as "Deck01B" for another 50 and so on. I also believe it should help with ShaderWeaver example shader to be categorized as "Example". It should also help when we creating shader for UI or Sprite Character.
In addition, if the feature is implemented I believe having mass Shader Path editor should help convert existing shaders. I do not mind to put those shader in folder manually though.

3. Add option not to loop root image. In our production pipeline, we use card background as root directly with clamped texture setting. We then use UV node to distort background image in root. Unfortunately, it doesn't work well with Loop option on. We worked around by creating additional image node and use Exclude root. but at version 1.2.1c exclude root sometime broke the shader.

4. Add option for Multiply blending mode not to multiply source's alpha channel. When we multiply using image that has alpha map, the final result also having source's alpha channel multiply into it. This happened in our production because we're sharing multiple textures across the multiple shaders.
For example, we use tileable leaves texture that has alpha channel to blend in image with default blend option, this has no issue. However, when we use the same texture to multiply (with either multiply or multiply intersect), it resulting in weird holes in final result.

Under review

Thank you so much for sharing these important feedbacks! Good suggestions for future version.


All 4 suggestions are accepted in the upcoming Shader Weaver 1.3.0
1. 'Render Type' option has been added.
2. Shader name can be set in setting.You can set folder and name on your own.Such as group/subGroup/shaderName
3. You can choose loop or not in new dummy node,which is a copy of root node. There is no extra cost to use it instead of root node. If there is any bug with 'Exclude Root',please post it with compete screenshot.
4. The blend mode you ask has been added as 'MulRGB'.

Thanks again for helping Shader Weaver be better!