public static GameObject Create(Pipeline pipeline) { if (pipeline == null) { throw new ArgumentNullException("systems"); } var go = new GameObject(string.Format("[{0}]", pipeline.Name ?? "[ECP-PIPELINE]")); DontDestroyOnLoad(go); go.hideFlags = HideFlags.NotEditable; var observer = go.AddComponent <PipelineObserver>(); observer._pipeline = pipeline; pipeline.AddDebugListener(observer); return(go); }