0e885b8267
During asset processing, no `RPISystem` component is created, so nothing so nothing calls `ShaderSystem::Init()`, so nothing calls `ShaderReloadDebugTracker::Init()`. Consequently, the AZ::EnvironmentVariables that are used during `ShaderReloadDebugTracker::IsEnabled()` never got created, causing a read from a nullptr at runtime. This fixes that issue by making `IsEnabled()` call `CreateVariable()` on the variables it needs if they are not valid. In addition, it changes the call to `CreateVariable()` to initialize the variable's values directly, to ensure they are only initialized once. It also switches to use `AZ::Crc32` so that the variable's id is computed at compile time. Signed-off-by: Chris Burel <burelc@amazon.com>