Shaders that can be used
Shaders that can be used in Cluster
Cluster uses Unity’s Built-in Render Pipeline, and the shaders that come with many assets work as-is.However, those that use geometry shaders (often used for effects that change shape significantly) will not work on iOS and Mac (displayed in the same purple color as Missing Material).
We recommend that you check it so that more users can use the world.
Make your own shader
Cluster works on multiple platforms (Windows, Mac, Android, iOS) and different UIs (VR and non-VR), and a good world is expected to work fine on all of them.
The Graphics API used by Cluster is:
- Direct3D 11 (Windows)
- Metal (iOS / Mac)
- OpenGL ES 3 (Android)
This means that geometry shader (#pragma geometry …) cannot be used.
Therefore, it is recommended to use a combination of Unity animation and vertex shader to realize effects such as dynamically increasing or decreasing the number of vertices.
We recommend #pragma target 3.5 or lower as the target version of ShaderLab.
Since Cluster’s VR support uses Multi-Pass Stereo Rendering, please refer to it when writing things that are affected by binocular parallax such as billboards and water.
Speed-up tips
Since mobile GPUs often have a smaller GPU-memory bandwidth than desktop environments, AlphaBlend and GrabPass, which generate additional memory reads, tend to be particularly slow.
The problem may be alleviated by designing an effect that works even if it is opaque, or by using Alpha Cut for the transparent part.