{"record":{"id":"e2ff468cbf80d09c","repo":"Unity-Technologies/UnityCsReference","slug":"preview-scene-could-not-be-created","errorCode":null,"errorMessage":"Preview scene could not be created","messagePattern":"Preview scene could not be created","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/Inspector/PreviewRenderUtility.cs","lineNumber":29,"sourceCode":"using UnityEngine.Experimental.Rendering;\nusing UnityEngine.SceneManagement;\nusing Unity.Scripting.LifecycleManagement;\nusing Debug = UnityEngine.Debug;\nusing Object = UnityEngine.Object;\n\nnamespace UnityEditor\n{\n    internal class PreviewScene : IDisposable\n    {\n        private readonly Scene m_Scene;\n        private readonly List<GameObject> m_GameObjects = new List<GameObject>();\n        private readonly Camera m_Camera;\n\n        public PreviewScene(string sceneName)\n        {\n            m_Scene = EditorSceneManager.NewPreviewScene();\n            if (!m_Scene.IsValid())\n                throw new InvalidOperationException(\"Preview scene could not be created\");\n\n            m_Scene.name = sceneName;\n\n            var camGO = EditorUtility.CreateGameObjectWithHideFlags(\"Preview Scene Camera\", HideFlags.HideAndDontSave, typeof(Camera));\n            AddGameObject(camGO);\n            m_Camera = camGO.GetComponent<Camera>();\n            camera.cameraType = CameraType.Preview;\n            camera.enabled = false;\n            camera.clearFlags = CameraClearFlags.Depth;\n            camera.fieldOfView = 15;\n            camera.farClipPlane = 10.0f;\n            camera.nearClipPlane = 2.0f;\n\n            // Explicitly use forward rendering for all previews\n            // (deferred fails when generating some static previews at editor launch; and we never want\n            // vertex lit previews if that is chosen in the player settings)\n            camera.renderingPath = RenderingPath.Forward;\n            camera.useOcclusionCulling = false;","sourceCodeStart":11,"sourceCodeEnd":47,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/Inspector/PreviewRenderUtility.cs#L11-L47","documentation":"Thrown by the PreviewScene constructor when EditorSceneManager.NewPreviewScene() returns an invalid Scene. This is an environment/resource failure: the editor could not allocate a preview scene.","triggerScenarios":"Constructing a PreviewScene (used by PreviewRenderUtility) when the editor cannot create a new preview scene, e.g. during domain reload, editor shutdown, or when too many preview scenes are already open.","commonSituations":"Editor resource exhaustion. Constructing preview scenes off the main thread or before the editor is fully initialized. Running in a batchmode/headless context where scene creation is unavailable.","solutions":["Construct PreviewScene only on the main editor thread during normal editor state (not during play/domain reload).","Reuse a single PreviewRenderUtility instance rather than creating many PreviewScenes.","Guard by checking EditorApplication.isPlayingOrWillChangePlaymode / editor state before creating previews."],"exampleFix":"// before\nvar scene = new PreviewScene(\"MyPreview\");\n\n// after\nif (InternalEditorUtility.isEditorRunning && !EditorApplication.isPlayingOrWillChangePlaymode)\n    var scene = new PreviewScene(\"MyPreview\");\nelse\n    Debug.LogWarning(\"Skipping preview: editor cannot create preview scene now.\");","handlingStrategy":"validation","validationCode":"bool ok = InternalEditorUtility.isEditorRunning && !EditorApplication.isPlayingOrWillChangePlaymode;","typeGuard":null,"tryCatchPattern":"try { new PreviewScene(\"name\"); }\ncatch (InvalidOperationException) { Debug.LogWarning(\"Preview scene unavailable\"); }","preventionTips":["Create preview scenes only on main thread in normal editor state.","Reuse a single PreviewRenderUtility."],"tags":["unity","editor","preview","scene","environment"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}