> For the complete documentation index, see [llms.txt](https://reflective-roommanager.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://reflective-roommanager.gitbook.io/docs/user-manual/scene-management/processor/scene-processor.md).

# Scene Processor

This abstract class provides a basic structure that manages scene rendering operations. `SceneProcessor` implements the `ISceneProcessable` interface.

### **Members**

* `protected SceneLoadingState m_loadingState { get; }`:&#x20;
  * An `m_loadingState` object that represents the loading state.
* `protected LoadSceneMode m_loadSceneMode`:&#x20;
  * An `m_loadSceneMode` variable representing the loading mode.

### Methods

1. ```csharp
   public bool GetLoadingState()
   ```
   * Returns the loading status.
2. ```csharp
   public abstract IEnumerator Process()
   ```
   * It is an abstract method. Derived classes must implement this method. Starts the transaction process.
3. ```csharp
   public virtual void LoadScene(string sceneName,
   Action<Scene> onCompleted = null)
   ```
   * **Parameters:**
     * `sceneName`: Name of the scene to load.
     * `onCompleted`: The action that will be called when the installation process is completed (defaults to null).
   * Calls the `SceneLoader.LoadScene()` method to load the scene.
4. ```csharp
   public virtual void UnLoadScene(Scene scene,
   Action<Scene> onCompleted = null)
   ```
   * **Parameters:**
     * `scene`: The scene to be evacuated.
     * `onCompleted`: The action that will be called when the dump is complete (defaults to null).
   * Calls the SceneLoader.UnloadScene() method to unload the scene.
5. ```csharp
   protected static AsyncOperation StartAsyncSceneLoad(SceneLoadingTask task)
   ```
   * **Parameters:**
     * `task`: A `SceneLoadingTas`k object that represents the task of the loading operation.
   * It is a helper method that starts the installation process.
   * It starts the process with the `SceneManager.LoadSceneAsync()` method.
6. ```csharp
   protected static AsyncOperation StartAsyncSceneUnLoad(SceneLoadingTask task)
   ```
   * **Parameters:**
     * `task`: A `SceneLoadingTask` object that represents the task of the offloading operation.
   * It is a helper method that starts the unloading process.
   * It starts the process with the `SceneManager.UnloadSceneAsync()` method.

This abstract class provides a basic structure that manages scene rendering operations.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://reflective-roommanager.gitbook.io/docs/user-manual/scene-management/processor/scene-processor.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
