Checking engine properties to decide which editor UI fields to be disabled on mismatched releases.
Overview
This issue originates from releasing an editor update which exposes new properties which are not present in the current engine release so therefore must be hidden. Originally the properties are just manually hidden by checking if they exist but this issue aims to abstract this process and form an API to make this process more automated.
Proposal
The idea is to have an API on the engine which allows the editor UI fields to test the mutating property exists automatically to decide whether it should be displayed or not.
it could be a simple manually maintained class of private static properties for Editor to test against:
class EngineFeatures {
static dithering = true;
}
and the Editor would then:
if (pc.EngineFeatures.dithering) ...
Actually, I think storing a version number instead of a boolean would be even better.
class EngineFeatures {
static dithering = 1; // if we update dithering in a way editor needs to know, we can increment this.
}