@MainActor
public static func load__SceneType__() throws -> __ProjectName__.__SceneType__ {
    guard let realityFileURL = Foundation.Bundle(for: __ProjectName__.__SceneType__.self).url(forResource: "__ProjectLiteralName__", withExtension: "reality") else {
        throw __ProjectName__.LoadRealityFileError.fileNotFound("__ProjectLiteralName__.reality")
    }

    let realityFileSceneURL = realityFileURL.appendingPathComponent("__SceneName__", isDirectory: false)
    let anchorEntity = try __ProjectName__.__SceneType__.loadAnchor(contentsOf: realityFileSceneURL)
    return create__SceneType__(from: anchorEntity)
}

@MainActor
public static func load__SceneType__Async(completion: @escaping (Swift.Result<__ProjectName__.__SceneType__, Swift.Error>) -> Void) {
    guard let realityFileURL = Foundation.Bundle(for: __ProjectName__.__SceneType__.self).url(forResource: "__ProjectLiteralName__", withExtension: "reality") else {
        completion(.failure(__ProjectName__.LoadRealityFileError.fileNotFound("__ProjectLiteralName__.reality")))
        return
    }

    var cancellable: Combine.AnyCancellable?
    let realityFileSceneURL = realityFileURL.appendingPathComponent("__SceneName__", isDirectory: false)
    let loadRequest = __ProjectName__.__SceneType__.loadAnchorAsync(contentsOf: realityFileSceneURL)
    cancellable = loadRequest.sink(receiveCompletion: { loadCompletion in
        if case let .failure(error) = loadCompletion {
            completion(.failure(error))
        }
        streams.removeAll { $0 === cancellable }
    }, receiveValue: { entity in
        completion(.success(__ProjectName__.create__SceneType__(from: entity)))
    })
    cancellable?.store(in: &streams)
}

@MainActor
private static func create__SceneType__(from anchorEntity: RealityKit.AnchorEntity) -> __ProjectName__.__SceneType__ {
    let __SceneVariableName__ = __ProjectName__.__SceneType__()
    __SceneVariableName__.anchoring = anchorEntity.anchoring
    __SceneVariableName__.addChild(anchorEntity)
    return __SceneVariableName__
}
