[2 Bugs] inside #ifdef UNITY_PASS_META - shader property variables - bake cache not updated

Report: 741304
Custom Shader

  1. Inside #ifdef UNITY_PASS_META a property variable stays always 0.
eg. o.Emission = _METAPASS_BakeMultiply; // cause the light-map goes off. Always 0
o.Emission = 100; //a literal cause the light-map to emit again
  1. Inside #ifdef UNITY_PASS_META and using Unity CustomEditor “LegacyIlluminShaderGUI” (Set to BAKE)
    Does not update the GI cache after the first use. Once the cache is filled or precomputed, the light-map stays at it’s first set o.Emission value.

I have reported an issue 741304 #ifdef UNITY_PASS_META but its not tracked.

The UNITY_PASS_META makes it possible to set the emission power of a shader that uses emission. This is extremely required while starting to control the indirect lightning of the emissive materials. The basic emissive intensity if for the most scenes far too low. Raising the emissive intensity value of a standard shader only over-brighten the material to white, so the indirect light raise a bit too, but fades to white and the colored effect is killed.

UNITY_PASS_META can help you to raise the indirect light of a emissive material, but it’s bugged. If the global GI cache is empty, the UNITY_PASS_META section works for the first time and set the current value that is set inside the UNITY_PASS_META section. But after the first bake, it doesn’t change anymore and stay at it’s previous used value.

That means, if you change the o.Emission after the first bake, then it’s fully ignored.
o.Emission is used again only, if you erase the complete global GI cache. But this cant be the deal.

Start at 14:48

I posted an issues with a complete example and how to reproduce. But is never tracked.
Too complicated for the QA guys?

Kind regards, Q