// Crest Ocean System // Copyright 2022 Wave Harmonic Ltd namespace Crest.Examples { using UnityEngine; using UnityEngine.Rendering; /// /// Loads a Render Pipeline Asset when entering play mode. Useful if wanting to enforce quality or features for a /// scene. /// public class LoadRenderPipelineAsset : MonoBehaviour { [SerializeField] RenderPipelineAsset _renderPipelineAsset; RenderPipelineAsset _oldRenderPipelineAssetGraphics; RenderPipelineAsset _oldRenderPipelineAssetQuality; void OnEnable() { _oldRenderPipelineAssetGraphics = GraphicsSettings.renderPipelineAsset; _oldRenderPipelineAssetQuality = QualitySettings.renderPipeline; if (_renderPipelineAsset == null) { return; } GraphicsSettings.renderPipelineAsset = _renderPipelineAsset; QualitySettings.renderPipeline = _renderPipelineAsset; } void OnDisable() { if (_renderPipelineAsset == null) { return; } GraphicsSettings.renderPipelineAsset = _oldRenderPipelineAssetGraphics; QualitySettings.renderPipeline = _oldRenderPipelineAssetQuality; } } }