1. What happened?
On updating from Odin to version 3.0.2 (from 2.1.13), the behaviour of ShowIf/HideIf changes when having multiple of these attributes on the same field.
Previously, in the case of:
[ShowIf(nameof(HasValue))] [ShowIf(nameof(FloatValue), 0f)] [HideIf(nameof(Basic))] public Int32 IntegerValue; [ShowIf(nameof(HasValue))] [ShowIf(nameof(IntegerValue), 0)] [HideIf(nameof(Basic))] public Single FloatValue; public Boolean HasValue; public Boolean Basic;
Then IntegerValue would be shown only if HasValue is true, FloatValue is not zero, and Basic is false.
In 3.0.3, the first two ‘ShowIf’ attribute (being first) have no effect, and so only if Basic is true will IntegerValue be hidden.
2. How can we reproduce it
Use the above code and test it in version 3.0.2 compared to 2.1.13.
4. What version of Unity are you using
5. What version of Odin are you using?
6. Do you have Editor Only mode enabled?
7. What operating system are you on?