Custom Shaders

From Resonite Wiki

Resonite currently does not support any form of Custom Shaders.

This includes items like:

Reasons

There are many reasons we can't support these shaders right now:

  1. Resonite rendering system is not stable.
    • Resonite is trying to move away from Unity and towards Sauce for the Renderer for Resonite. This means that a lot of graphical decisions/features/limitations are in limbo or subject to change.
  2. We cannot support custom Unity Shaders
    • As we're moving away from Unity, we will unable to ever support Unity custom shaders.
  3. Safety
    • We do have many of the same concerns that you'd see on other platforms. Things like:
      • Crashing Shaders
      • Malicious Shaders (Flashing, Loud, Disruptive)
    • Would be possible on Resonite too and we want to avoid that when we can.
  4. Compatibility including Backwards Compatibility
    • Resonite prides itself on Backwards Compatibility, items that were made years ago still work today. Part of this is due to Resonite's commitment to engineering things in a backwards compatible way. Any form of custom shaders needs to have this capability.

Plan for Custom Shaders

The plan for custom shaders it to combine Sauce and ProtoFlux to achieve a node-based shader system within Resonite. You'd be able to create and manage shaders using ProtoFlux nodes.

Tracking

If you'd like to track the items required to make Custom Shaders a possibility you can follow these GitHub Items:

Alternatives

When it comes to Resonite and custom shaders, the lack of support of them can turn some users away. However, with the right setups, knowledge and time you can get a look very similar to popular custom shaders from other platforms.

The advice currently is to try and experiment with Resonite's existing shaders and technology to get a similar look and feel.

Usually when users want custom shaders, they are looking for animated textures or a special effect. Resonite already has this with its existing shaders in the form of either rendering materials on top of one another or driving material parameters with flux.