Substance material not updating in play mode

I have a substance material that does rebuild textures fine in the editor. However as soon as I enter play mode and attempt to modify a paremeter, it does not rebuild its texture. In fact, it seems to revert to a cached version of the texture and even overrides the changes I have done in the editor.

Here is the code used to test this:

    public GameObject bulb;
    public Color offColor;
    public Color onColor;

    ProceduralMaterial bulbmaterial;

    void Start() {
        bulbmaterial = bulb.renderer.material as ProceduralMaterial;
        bulbmaterial.SetProceduralColor("light_color", offColor);
        bulbmaterial.SetColor("light_color", offColor);

Are we missing something obvious or have we stumbled upon a bug?

Would you be so kind as to report this as a bug so we can investigate? This will give us the added advantage of a repro and Unity version, along with steps and your project that can be tested by our QA and assigned to the right developers. Unity > Help > Report a bug. If you’ve had no traction after a few weeks, feel free to drop the reference number here and we can try and chase it. - Cheers!

Thanks for the reply! Case 655203
However, this may not be a bug but rather a weird implementation in Unity or the Allegorithmic specs. We are still investigating. The cause seems to be a blend node in the substance yielding an unexpected result when the material is instantiated.

1 Like