<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNSceneSourceStatus",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:@E@SCNSceneSourceStatus"
  },
  "title" : "SCNSceneSourceStatus"
}
-->

# SCNSceneSourceStatus

Constants identifying phases of SceneKit’s scene loading process, used in a [`SCNSceneSourceStatusHandler`](/documentation/SceneKit/SCNSceneSourceStatusHandler) block.

```
enum SCNSceneSourceStatus
```

## Overview

Use the information provided by these constants to describe the scene loading process in your app’s user interface. Because this enumeration leaves room for more detailed progress reports, you should compare the `status` parameter of a [`SCNSceneSourceStatusHandler`](/documentation/SceneKit/SCNSceneSourceStatusHandler) block against these values for ordering, not for equality, as in the following example handler:

```objc
SCNSceneSourceStatusHandler myHandler =
^(float totalProgress, SCNSceneSourceStatus status, NSError *error, BOOL *stop) {
    if (status >= SCNSceneSourceStatusProcessing && status < SCNSceneSourceStatusComplete)
        myProgressLabel.stringValue = @"Processing";
};
```

## Topics

### Constants

[`SCNSceneSourceStatusError`](/documentation/SceneKit/SCNSceneSourceStatus/error)

An error occurred when SceneKit attempted to load the scene.

[`SCNSceneSourceStatusParsing`](/documentation/SceneKit/SCNSceneSourceStatus/parsing)

SceneKit has begun deserializing the source file.

[`SCNSceneSourceStatusValidating`](/documentation/SceneKit/SCNSceneSourceStatus/validating)

SceneKit has begun validating the scene file’s format.

[`SCNSceneSourceStatusProcessing`](/documentation/SceneKit/SCNSceneSourceStatus/processing)

SceneKit has begun generating scene graph objects from the scene file’s contents.

[`SCNSceneSourceStatusComplete`](/documentation/SceneKit/SCNSceneSourceStatus/complete)

SceneKit has successfully finished loading the scene file’s contents.

## Relationships

### Conforms To

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Hashable`](/documentation/Swift/Hashable)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)