Пример #1
0
        void OnEnable()
        {
            m_GeneralSettingsFoldout        = new SavedBool($"{target.GetType()}.GeneralSettingsFoldout", false);
            m_QualitySettingsFoldout        = new SavedBool($"{target.GetType()}.QualitySettingsFoldout", false);
            m_LightingSettingsFoldout       = new SavedBool($"{target.GetType()}.LightingSettingsFoldout", false);
            m_ShadowSettingsFoldout         = new SavedBool($"{target.GetType()}.ShadowSettingsFoldout", false);
            m_PostProcessingSettingsFoldout = new SavedBool($"{target.GetType()}.PostProcessingSettingsFoldout", false);
            m_AdvancedSettingsFoldout       = new SavedBool($"{target.GetType()}.AdvancedSettingsFoldout", false);
            m_AdaptivePerformanceFoldout    = new SavedBool($"{target.GetType()}.AdaptivePerformanceFoldout", false);

            m_RendererDataProp    = serializedObject.FindProperty("m_RendererDataList");
            m_DefaultRendererProp = serializedObject.FindProperty("m_DefaultRendererIndex");
            m_RendererDataList    = new ReorderableList(serializedObject, m_RendererDataProp, false, true, true, true);

            DrawRendererListLayout(m_RendererDataList, m_RendererDataProp);

            m_RequireDepthTextureProp  = serializedObject.FindProperty("m_RequireDepthTexture");
            m_RequireOpaqueTextureProp = serializedObject.FindProperty("m_RequireOpaqueTexture");
            m_OpaqueDownsamplingProp   = serializedObject.FindProperty("m_OpaqueDownsampling");
            m_SupportsTerrainHolesProp = serializedObject.FindProperty("m_SupportsTerrainHoles");

            m_HDR         = serializedObject.FindProperty("m_SupportsHDR");
            m_MSAA        = serializedObject.FindProperty("m_MSAA");
            m_RenderScale = serializedObject.FindProperty("m_RenderScale");

            m_MainLightRenderingModeProp       = serializedObject.FindProperty("m_MainLightRenderingMode");
            m_MainLightShadowsSupportedProp    = serializedObject.FindProperty("m_MainLightShadowsSupported");
            m_MainLightShadowmapResolutionProp = serializedObject.FindProperty("m_MainLightShadowmapResolution");

            m_AdditionalLightsRenderingModeProp      = serializedObject.FindProperty("m_AdditionalLightsRenderingMode");
            m_AdditionalLightsPerObjectLimitProp     = serializedObject.FindProperty("m_AdditionalLightsPerObjectLimit");
            m_AdditionalLightShadowsSupportedProp    = serializedObject.FindProperty("m_AdditionalLightShadowsSupported");
            m_AdditionalLightShadowmapResolutionProp = serializedObject.FindProperty("m_AdditionalLightsShadowmapResolution");

            m_ShadowDistanceProp = serializedObject.FindProperty("m_ShadowDistance");
            // Marked by Bioum
            m_ShadowFadeProp = serializedObject.FindProperty("m_ShadowFade");
            // Marked by Bioum
            m_ShadowCascadesProp       = serializedObject.FindProperty("m_ShadowCascades");
            m_ShadowCascade2SplitProp  = serializedObject.FindProperty("m_Cascade2Split");
            m_ShadowCascade4SplitProp  = serializedObject.FindProperty("m_Cascade4Split");
            m_ShadowDepthBiasProp      = serializedObject.FindProperty("m_ShadowDepthBias");
            m_ShadowNormalBiasProp     = serializedObject.FindProperty("m_ShadowNormalBias");
            m_SoftShadowsSupportedProp = serializedObject.FindProperty("m_SoftShadowsSupported");

            m_SRPBatcher = serializedObject.FindProperty("m_UseSRPBatcher");
            m_SupportsDynamicBatching    = serializedObject.FindProperty("m_SupportsDynamicBatching");
            m_MixedLightingSupportedProp = serializedObject.FindProperty("m_MixedLightingSupported");
            m_DebugLevelProp             = serializedObject.FindProperty("m_DebugLevel");

            m_ShaderVariantLogLevel = serializedObject.FindProperty("m_ShaderVariantLogLevel");

            m_PostProcessingFeatureSet = serializedObject.FindProperty("m_PostProcessingFeatureSet");
            m_ColorGradingMode         = serializedObject.FindProperty("m_ColorGradingMode");
            m_ColorGradingLutSize      = serializedObject.FindProperty("m_ColorGradingLutSize");

            m_UseAdaptivePerformance = serializedObject.FindProperty("m_UseAdaptivePerformance");

            selectedLightRenderingMode = (LightRenderingMode)m_AdditionalLightsRenderingModeProp.intValue;
        }
Пример #2
0
        void OnEnable()
        {
            m_RequireDepthTextureProp  = serializedObject.FindProperty("m_RequireDepthTexture");
            m_RequireOpaqueTextureProp = serializedObject.FindProperty("m_RequireOpaqueTexture");
            m_OpaqueDownsamplingProp   = serializedObject.FindProperty("m_OpaqueDownsampling");

            m_HDR         = serializedObject.FindProperty("m_SupportsHDR");
            m_MSAA        = serializedObject.FindProperty("m_MSAA");
            m_RenderScale = serializedObject.FindProperty("m_RenderScale");

            m_MainLightRenderingModeProp       = serializedObject.FindProperty("m_MainLightRenderingMode");
            m_MainLightShadowsSupportedProp    = serializedObject.FindProperty("m_MainLightShadowsSupported");
            m_MainLightShadowmapResolutionProp = serializedObject.FindProperty("m_MainLightShadowmapResolution");

            m_AdditionalLightsRenderingModeProp      = serializedObject.FindProperty("m_AdditionalLightsRenderingMode");
            m_AdditionalLightsPerObjectLimitProp     = serializedObject.FindProperty("m_AdditionalLightsPerObjectLimit");
            m_AdditionalLightShadowsSupportedProp    = serializedObject.FindProperty("m_AdditionalLightShadowsSupported");
            m_AdditionalLightShadowmapResolutionProp = serializedObject.FindProperty("m_AdditionalLightsShadowmapResolution");

            m_ShadowDistanceProp       = serializedObject.FindProperty("m_ShadowDistance");
            m_ShadowCascadesProp       = serializedObject.FindProperty("m_ShadowCascades");
            m_ShadowCascade2SplitProp  = serializedObject.FindProperty("m_Cascade2Split");
            m_ShadowCascade4SplitProp  = serializedObject.FindProperty("m_Cascade4Split");
            m_ShadowDepthBiasProp      = serializedObject.FindProperty("m_ShadowDepthBias");
            m_ShadowNormalBiasProp     = serializedObject.FindProperty("m_ShadowNormalBias");
            m_SoftShadowsSupportedProp = serializedObject.FindProperty("m_SoftShadowsSupported");

            m_SupportsDynamicBatching    = serializedObject.FindProperty("m_SupportsDynamicBatching");
            m_MixedLightingSupportedProp = serializedObject.FindProperty("m_MixedLightingSupported");

            m_ShaderVariantLogLevel    = serializedObject.FindProperty("m_ShaderVariantLogLevel");
            selectedLightRenderingMode = (LightRenderingMode)m_AdditionalLightsRenderingModeProp.intValue;
        }
        void DrawLightingSettings()
        {
            m_LightingSettingsFoldout.value = EditorGUILayout.BeginFoldoutHeaderGroup(m_LightingSettingsFoldout.value, Styles.lightingSettingsText);
            if (m_LightingSettingsFoldout.value)
            {
                EditorGUI.indentLevel++;

                // Main Light
                bool disableGroup = false;
                EditorGUI.BeginDisabledGroup(disableGroup);
                CoreEditorUtils.DrawPopup(Styles.mainLightRenderingModeText, m_MainLightRenderingModeProp, Styles.mainLightOptions);
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel++;
                disableGroup |= !m_MainLightRenderingModeProp.boolValue;

                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_MainLightShadowsSupportedProp, Styles.supportsMainLightShadowsText);
                EditorGUI.EndDisabledGroup();

                disableGroup |= !m_MainLightShadowsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_MainLightShadowmapResolutionProp, Styles.mainLightShadowmapResolutionText);
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel--;
                EditorGUILayout.Space();

                // Additional light
                selectedLightRenderingMode = (LightRenderingMode)EditorGUILayout.EnumPopup(Styles.addditionalLightsRenderingModeText, selectedLightRenderingMode);
                m_AdditionalLightsRenderingModeProp.intValue = (int)selectedLightRenderingMode;
                EditorGUI.indentLevel++;

                disableGroup = m_AdditionalLightsRenderingModeProp.intValue == (int)LightRenderingMode.Disabled;
                EditorGUI.BeginDisabledGroup(disableGroup);
                m_AdditionalLightsPerObjectLimitProp.intValue = EditorGUILayout.IntSlider(Styles.perObjectLimit, m_AdditionalLightsPerObjectLimitProp.intValue, 0, UniversalRenderPipeline.maxPerObjectLights);
                EditorGUI.EndDisabledGroup();

                disableGroup |= (m_AdditionalLightsPerObjectLimitProp.intValue == 0 || m_AdditionalLightsRenderingModeProp.intValue != (int)LightRenderingMode.PerPixel);
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_AdditionalLightShadowsSupportedProp, Styles.supportsAdditionalShadowsText);
                EditorGUI.EndDisabledGroup();

                disableGroup |= !m_AdditionalLightShadowsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_AdditionalLightShadowmapResolutionProp, Styles.additionalLightsShadowmapResolution);
                DrawShadowResolutionTierSettings();
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel--;
                EditorGUI.indentLevel--;

                EditorGUILayout.Space();
                EditorGUILayout.Space();
            }
            EditorGUILayout.EndFoldoutHeaderGroup();
        }
        void OnEnable()
        {
            m_GeneralSettingsFoldout        = new SavedBool($"{target.GetType()}.GeneralSettingsFoldout", false);
            m_QualitySettingsFoldout        = new SavedBool($"{target.GetType()}.QualitySettingsFoldout", false);
            m_LightingSettingsFoldout       = new SavedBool($"{target.GetType()}.LightingSettingsFoldout", false);
            m_ShadowSettingsFoldout         = new SavedBool($"{target.GetType()}.ShadowSettingsFoldout", false);
            m_PostProcessingSettingsFoldout = new SavedBool($"{target.GetType()}.PostProcessingSettingsFoldout", false);
            m_AdvancedSettingsFoldout       = new SavedBool($"{target.GetType()}.AdvancedSettingsFoldout", false);

            m_RendererTypeProp = serializedObject.FindProperty("m_RendererType");
            m_RendererDataProp = serializedObject.FindProperty("m_RendererData");

            m_RequireDepthTextureProp  = serializedObject.FindProperty("m_RequireDepthTexture");
            m_RequireOpaqueTextureProp = serializedObject.FindProperty("m_RequireOpaqueTexture");
            m_OpaqueDownsamplingProp   = serializedObject.FindProperty("m_OpaqueDownsampling");

            m_HDR         = serializedObject.FindProperty("m_SupportsHDR");
            m_MSAA        = serializedObject.FindProperty("m_MSAA");
            m_RenderScale = serializedObject.FindProperty("m_RenderScale");

            m_MainLightRenderingModeProp       = serializedObject.FindProperty("m_MainLightRenderingMode");
            m_MainLightShadowsSupportedProp    = serializedObject.FindProperty("m_MainLightShadowsSupported");
            m_MainLightShadowmapResolutionProp = serializedObject.FindProperty("m_MainLightShadowmapResolution");

            m_AdditionalLightsRenderingModeProp      = serializedObject.FindProperty("m_AdditionalLightsRenderingMode");
            m_AdditionalLightsPerObjectLimitProp     = serializedObject.FindProperty("m_AdditionalLightsPerObjectLimit");
            m_AdditionalLightShadowsSupportedProp    = serializedObject.FindProperty("m_AdditionalLightShadowsSupported");
            m_AdditionalLightShadowmapResolutionProp = serializedObject.FindProperty("m_AdditionalLightsShadowmapResolution");

            m_ShadowDistanceProp       = serializedObject.FindProperty("m_ShadowDistance");
            m_ShadowCascadesProp       = serializedObject.FindProperty("m_ShadowCascades");
            m_ShadowCascade2SplitProp  = serializedObject.FindProperty("m_Cascade2Split");
            m_ShadowCascade4SplitProp  = serializedObject.FindProperty("m_Cascade4Split");
            m_ShadowDepthBiasProp      = serializedObject.FindProperty("m_ShadowDepthBias");
            m_ShadowNormalBiasProp     = serializedObject.FindProperty("m_ShadowNormalBias");
            m_SoftShadowsSupportedProp = serializedObject.FindProperty("m_SoftShadowsSupported");

            m_SRPBatcher = serializedObject.FindProperty("m_UseSRPBatcher");
            m_SupportsDynamicBatching    = serializedObject.FindProperty("m_SupportsDynamicBatching");
            m_MixedLightingSupportedProp = serializedObject.FindProperty("m_MixedLightingSupported");

            m_ShaderVariantLogLevel = serializedObject.FindProperty("m_ShaderVariantLogLevel");

            m_ColorGradingMode    = serializedObject.FindProperty("m_ColorGradingMode");
            m_ColorGradingLutSize = serializedObject.FindProperty("m_ColorGradingLutSize");

            selectedLightRenderingMode = (LightRenderingMode)m_AdditionalLightsRenderingModeProp.intValue;
        }
        void OnEnable()
        {
            m_RequireDepthTextureProp        = serializedObject.FindProperty("m_RequireDepthTexture");
            m_RequireOpaqueTextureProp       = serializedObject.FindProperty("m_RequireOpaqueTexture");
            m_OpaqueDownsamplingProp         = serializedObject.FindProperty("m_OpaqueDownsampling");
            m_RequireDepthNormalsTextureProp = serializedObject.FindProperty("m_RequireDepthNormalsTexture");

            _SupportsOITProp      = serializedObject.FindProperty("_supportsOIT");
            _MomentsCountProp     = serializedObject.FindProperty("_momentsCount");
            _MomentsPrecisionProp = serializedObject.FindProperty("_momentsPrecision");

            m_HDR         = serializedObject.FindProperty("m_SupportsHDR");
            m_MSAA        = serializedObject.FindProperty("m_MSAA");
            m_RenderScale = serializedObject.FindProperty("m_RenderScale");

            m_MainLightRenderingModeProp       = serializedObject.FindProperty("m_MainLightRenderingMode");
            m_MainLightShadowsSupportedProp    = serializedObject.FindProperty("m_MainLightShadowsSupported");
            m_MainLightShadowmapResolutionProp = serializedObject.FindProperty("m_MainLightShadowmapResolution");

            m_AdditionalLightsRenderingModeProp      = serializedObject.FindProperty("m_AdditionalLightsRenderingMode");
            m_AdditionalLightsPerObjectLimitProp     = serializedObject.FindProperty("m_AdditionalLightsPerObjectLimit");
            m_AdditionalLightShadowsSupportedProp    = serializedObject.FindProperty("m_AdditionalLightShadowsSupported");
            m_AdditionalLightShadowmapResolutionProp = serializedObject.FindProperty("m_AdditionalLightsShadowmapResolution");

            m_ShadowDistanceProp                   = serializedObject.FindProperty("m_ShadowDistance");
            m_ShadowCascadesProp                   = serializedObject.FindProperty("m_ShadowCascades");
            m_ShadowCascade2SplitProp              = serializedObject.FindProperty("m_Cascade2Split");
            m_ShadowCascade4SplitProp              = serializedObject.FindProperty("m_Cascade4Split");
            m_ShadowDepthBiasProp                  = serializedObject.FindProperty("m_ShadowDepthBias");
            m_ShadowNormalBiasProp                 = serializedObject.FindProperty("m_ShadowNormalBias");
            m_SoftShadowsSupportedProp             = serializedObject.FindProperty("m_SoftShadowsSupported");
            m_MainCharacterShadowsSupportedProp    = serializedObject.FindProperty("m_SupportsMainCharacterShadows");
            m_MainCharacterShadowmapResolutionProp = serializedObject.FindProperty("m_MainCharacterShadowmapResolution");
            _DeepShadowMapsSupportedProp           = serializedObject.FindProperty("_SupportsDeepShadowMaps");
            _DeepShadowMapsSizeProp                = serializedObject.FindProperty("_DeepShadowMapsSize");
            _DeepShadowMapsDepthProp               = serializedObject.FindProperty("_DeepShadowMapsDepth");
            _DeepShadowMapsBlurOffsetProp          = serializedObject.FindProperty("_DeepShadowMapsBlurOffset");

            m_SupportsDynamicBatching    = serializedObject.FindProperty("m_SupportsDynamicBatching");
            m_MixedLightingSupportedProp = serializedObject.FindProperty("m_MixedLightingSupported");

            m_ShaderVariantLogLevel    = serializedObject.FindProperty("m_ShaderVariantLogLevel");
            selectedLightRenderingMode = (LightRenderingMode)m_AdditionalLightsRenderingModeProp.intValue;
        }
        void DrawLightingSettings()
        {
            m_LightingSettingsFoldout = EditorGUILayout.Foldout(m_LightingSettingsFoldout, Styles.lightingSettingsText);
            if (m_LightingSettingsFoldout)
            {
                EditorGUI.indentLevel++;

                // Main Light
                bool disableGroup = false;
                EditorGUI.BeginDisabledGroup(disableGroup);
                CoreEditorUtils.DrawPopup(Styles.mainLightRenderingModeText, m_MainLightRenderingModeProp, Styles.mainLightOptions);
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel++;
                disableGroup |= !m_MainLightRenderingModeProp.boolValue;

                bool mcDisableGroup  = disableGroup;
                bool dsmDisableGroup = disableGroup;

                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_MainLightShadowsSupportedProp, Styles.supportsMainLightShadowsText);
                EditorGUI.EndDisabledGroup();

                disableGroup |= !m_MainLightShadowsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_MainLightShadowmapResolutionProp, Styles.mainLightShadowmapResolutionText);
                EditorGUI.EndDisabledGroup();

                EditorGUI.BeginDisabledGroup(mcDisableGroup);
                EditorGUILayout.PropertyField(m_MainCharacterShadowsSupportedProp, Styles.supportsMainCharacterShadowsText);
                EditorGUI.EndDisabledGroup();
                mcDisableGroup |= !m_MainCharacterShadowsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(mcDisableGroup);
                EditorGUILayout.PropertyField(m_MainCharacterShadowmapResolutionProp, Styles.mainCharacterShadowmapResolutionText);
                EditorGUI.EndDisabledGroup();

                EditorGUI.BeginDisabledGroup(dsmDisableGroup);
                EditorGUILayout.PropertyField(_DeepShadowMapsSupportedProp, Styles.supportsDeepShadowMapsText);
                EditorGUI.EndDisabledGroup();
                dsmDisableGroup |= !_DeepShadowMapsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(dsmDisableGroup);
                EditorGUILayout.PropertyField(_DeepShadowMapsSizeProp, Styles.deepShadowMapsSizeText);
                EditorGUILayout.PropertyField(_DeepShadowMapsDepthProp, Styles.deepShadowMapsDepthText);
                EditorGUILayout.PropertyField(_DeepShadowMapsBlurOffsetProp, Styles.deepShadowMapsBlurOffsetText);
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel--;
                EditorGUILayout.Space();

                // Additional light
                selectedLightRenderingMode = (LightRenderingMode)EditorGUILayout.EnumPopup(Styles.addditionalLightsRenderingModeText, selectedLightRenderingMode);
                m_AdditionalLightsRenderingModeProp.intValue = (int)selectedLightRenderingMode;
                EditorGUI.indentLevel++;

                disableGroup = m_AdditionalLightsRenderingModeProp.intValue == (int)LightRenderingMode.Disabled;
                EditorGUI.BeginDisabledGroup(disableGroup);
                m_AdditionalLightsPerObjectLimitProp.intValue = EditorGUILayout.IntSlider(Styles.perObjectLimit, m_AdditionalLightsPerObjectLimitProp.intValue, 0, k_MaxSupportedPerObjectLights);
                EditorGUI.EndDisabledGroup();

                disableGroup |= (m_AdditionalLightsPerObjectLimitProp.intValue == 0 || m_AdditionalLightsRenderingModeProp.intValue != (int)LightRenderingMode.PerPixel);
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_AdditionalLightShadowsSupportedProp, Styles.supportsAdditionalShadowsText);
                EditorGUI.EndDisabledGroup();

                disableGroup |= !m_AdditionalLightShadowsSupportedProp.boolValue;
                EditorGUI.BeginDisabledGroup(disableGroup);
                EditorGUILayout.PropertyField(m_AdditionalLightShadowmapResolutionProp, Styles.additionalLightsShadowmapResolution);
                EditorGUI.EndDisabledGroup();

                EditorGUI.indentLevel--;
                EditorGUI.indentLevel--;

                EditorGUILayout.Space();
                EditorGUILayout.Space();
            }
        }
        void OnEnable()
        {
            m_GeneralSettingsFoldout        = new SavedBool($"{target.GetType()}.GeneralSettingsFoldout", false);
            m_QualitySettingsFoldout        = new SavedBool($"{target.GetType()}.QualitySettingsFoldout", false);
            m_LightingSettingsFoldout       = new SavedBool($"{target.GetType()}.LightingSettingsFoldout", false);
            m_ShadowSettingsFoldout         = new SavedBool($"{target.GetType()}.ShadowSettingsFoldout", false);
            m_PostProcessingSettingsFoldout = new SavedBool($"{target.GetType()}.PostProcessingSettingsFoldout", false);
            m_AdvancedSettingsFoldout       = new SavedBool($"{target.GetType()}.AdvancedSettingsFoldout", false);
            m_AdaptivePerformanceFoldout    = new SavedBool($"{target.GetType()}.AdaptivePerformanceFoldout", false);

            m_RendererDataProp    = serializedObject.FindProperty("m_RendererDataList");
            m_DefaultRendererProp = serializedObject.FindProperty("m_DefaultRendererIndex");
            m_RendererDataList    = new ReorderableList(serializedObject, m_RendererDataProp, true, true, true, true);

            DrawRendererListLayout(m_RendererDataList, m_RendererDataProp);

            m_RequireDepthTextureProp  = serializedObject.FindProperty("m_RequireDepthTexture");
            m_RequireOpaqueTextureProp = serializedObject.FindProperty("m_RequireOpaqueTexture");
            m_OpaqueDownsamplingProp   = serializedObject.FindProperty("m_OpaqueDownsampling");
            m_SupportsTerrainHolesProp = serializedObject.FindProperty("m_SupportsTerrainHoles");

            m_HDR         = serializedObject.FindProperty("m_SupportsHDR");
            m_MSAA        = serializedObject.FindProperty("m_MSAA");
            m_RenderScale = serializedObject.FindProperty("m_RenderScale");

            m_MainLightRenderingModeProp       = serializedObject.FindProperty("m_MainLightRenderingMode");
            m_MainLightShadowsSupportedProp    = serializedObject.FindProperty("m_MainLightShadowsSupported");
            m_MainLightShadowmapResolutionProp = serializedObject.FindProperty("m_MainLightShadowmapResolution");

            m_AdditionalLightsRenderingModeProp      = serializedObject.FindProperty("m_AdditionalLightsRenderingMode");
            m_AdditionalLightsPerObjectLimitProp     = serializedObject.FindProperty("m_AdditionalLightsPerObjectLimit");
            m_AdditionalLightShadowsSupportedProp    = serializedObject.FindProperty("m_AdditionalLightShadowsSupported");
            m_AdditionalLightShadowmapResolutionProp = serializedObject.FindProperty("m_AdditionalLightsShadowmapResolution");

            m_AdditionalLightsShadowResolutionTierLowProp    = serializedObject.FindProperty("m_AdditionalLightsShadowResolutionTierLow");
            m_AdditionalLightsShadowResolutionTierMediumProp = serializedObject.FindProperty("m_AdditionalLightsShadowResolutionTierMedium");
            m_AdditionalLightsShadowResolutionTierHighProp   = serializedObject.FindProperty("m_AdditionalLightsShadowResolutionTierHigh");

            m_ShadowDistanceProp = serializedObject.FindProperty("m_ShadowDistance");

            m_ShadowCascadeCountProp   = serializedObject.FindProperty("m_ShadowCascadeCount");
            m_ShadowCascade2SplitProp  = serializedObject.FindProperty("m_Cascade2Split");
            m_ShadowCascade3SplitProp  = serializedObject.FindProperty("m_Cascade3Split");
            m_ShadowCascade4SplitProp  = serializedObject.FindProperty("m_Cascade4Split");
            m_ShadowCascadeBorderProp  = serializedObject.FindProperty("m_CascadeBorder");
            m_ShadowDepthBiasProp      = serializedObject.FindProperty("m_ShadowDepthBias");
            m_ShadowNormalBiasProp     = serializedObject.FindProperty("m_ShadowNormalBias");
            m_SoftShadowsSupportedProp = serializedObject.FindProperty("m_SoftShadowsSupported");

            m_SRPBatcher = serializedObject.FindProperty("m_UseSRPBatcher");
            m_SupportsDynamicBatching    = serializedObject.FindProperty("m_SupportsDynamicBatching");
            m_MixedLightingSupportedProp = serializedObject.FindProperty("m_MixedLightingSupported");
            m_DebugLevelProp             = serializedObject.FindProperty("m_DebugLevel");

            m_ShaderVariantLogLevel = serializedObject.FindProperty("m_ShaderVariantLogLevel");

            m_ColorGradingMode    = serializedObject.FindProperty("m_ColorGradingMode");
            m_ColorGradingLutSize = serializedObject.FindProperty("m_ColorGradingLutSize");

            m_UseFastSRGBLinearConversion = serializedObject.FindProperty("m_UseFastSRGBLinearConversion");

            m_UseAdaptivePerformance = serializedObject.FindProperty("m_UseAdaptivePerformance");

            selectedLightRenderingMode = (LightRenderingMode)m_AdditionalLightsRenderingModeProp.intValue;

            string Key = "Universal_Shadow_Setting_Unit:UI_State";

            m_State = new EditorPrefBoolFlags <EditorUtils.Unit>(Key);
        }