Currently, if you download a Unity 2019.3 version and choose a URP project, it may install:
URP 7.1.6
URP 7.1.8
URP 7.2.1
URP 7.3
This will depend on which patch release you’re on. A PATCH RELEASE, not a Unity version. 3 of these have breaking changes in the shaders that make them incompatible with the other versions. You also can’t downgrade to, say, 7.2.1 on the latest Unity, or upgrade to 7.3 on the older versions.
The same is true for HDRP, as my users are reporting issues in HDRP 7.3 vs 7.2.1 due to undocumented changes.
It is impossible to maintain compatibility with these changes:
- You don’t document the changes, or any of the shader code
- You release these at seemly random moments
- There is no Unity 2019 version of the SRP that anyone can count on actually working
- Different assets are going to be written for each one, because it’s impossible to support them all. So now any two things on the store won’t be compatible with each other.
- People don’t understand this when they buy assets, because Unity used to “Just Work”, now, it “Just Breaks”.
So fine, you might write a shader abstraction layer one day to deal with this, which you should have done from the start- given the glacial pace of Unity fixing things vs. breaking things, that’s at least a year or two off. In the mean time, can you please limit breaking changes to align with Unity version changes? Not patch releases? Patch releases are supposed to fix things, not break them, or make it impossible to support your pipeline.
You’ve gone over the cliff of insanity at this point- can you dial it back just a hair?