12345678910111213141516171819202122232425262728293031323334353637383940 |
- using UnityEngine;
- using UnityEngine.Profiling;
- using UnityEngine.Rendering;
- using UnityEngine.Rendering.Universal;
-
- [ExecuteInEditMode]
- public class CheckAssignedRenderPipelineAsset : MonoBehaviour
- {
- [SerializeField] private UniversalRenderPipelineAsset m_PipelineAsset;
- [SerializeField] private GameObject m_WarningGameObject;
-
- private bool m_LastCorrectPipelineResults = false;
-
- private bool isCorrectAssetAssigned => QualitySettings.renderPipeline == m_PipelineAsset
- || QualitySettings.renderPipeline == null && GraphicsSettings.defaultRenderPipeline == m_PipelineAsset;
-
- private void Awake()
- {
- CheckIfCorrectAssetIsAssigned();
- }
-
- private void Update()
- {
- CheckIfCorrectAssetIsAssigned();
- }
-
- private void CheckIfCorrectAssetIsAssigned()
- {
- if (m_PipelineAsset == null)
- return;
-
- bool correctAssetAssigned = isCorrectAssetAssigned;
- if (!correctAssetAssigned && m_LastCorrectPipelineResults != correctAssetAssigned)
- Debug.LogError("Incorrect/missing Universal Renderpipeline Asset assigned in Quality or Graphics Settings.\nPlease assign \"" + m_PipelineAsset.name + "\" to it.");
-
- m_LastCorrectPipelineResults = correctAssetAssigned;
- if (m_WarningGameObject != null)
- m_WarningGameObject.SetActive(!correctAssetAssigned);
- }
- }
|