# Scene

> Use this API to perform searches in the Scene. Engines for this type of search implement the ISceneSearchEngine interface.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.SearchService](/engine/6000.3/script-reference/unityeditor/searchservice.md)
* **Assembly:** UnityEditor

> **Warning:**
>
> **Removed.** Scene has been deprecated. Use SceneSearch instead
>
> **Upgrade to** [SceneSearch](/engine/6000.3/script-reference/unityeditor/searchservice/scenesearch.md)

```csharp
public static class Scene
```

## Remarks

Registered Scene engines are called during searches in the Scene hierarchy. When the default object selector is used, they are also called for GameObject searches.

The following example creates a Scene engine:

```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEditor.SearchService;
using UnityEngine;
using Object = UnityEngine.Object;

[SceneSearchEngine]
class TestSceneFilterEngine : ISceneSearchEngine
{
    public string name => "My Custom Engine";

    public void BeginSession(ISearchContext context)
    {
    }

    public void EndSession(ISearchContext context)
    {
    }

    public void BeginSearch(ISearchContext context, string query)
    {
    }

    public void EndSearch(ISearchContext context)
    {
    }

    public bool Filter(ISearchContext context, string query, HierarchyProperty objectToFilter)
    {
        var instanceId = objectToFilter.instanceID;
        var obj = Object.FindObjectsOfType<GameObject>().FirstOrDefault(o => o.GetInstanceID() == instanceId);
        return obj != null && obj.name.IndexOf(query, StringComparison.InvariantCultureIgnoreCase) >= 0;
    }
}
```

Additional Resources: [SceneSearchEngineAttribute](/engine/6000.3/script-reference/unityeditor/searchservice/scenesearchengineattribute.md), [ISceneSearchEngine](/engine/6000.3/script-reference/unityeditor/searchservice/iscenesearchengine.md).

## Static Fields

| Value                                                                                         | Description                                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [EngineScope](/engine/6000.3/script-reference/unityeditor/searchservice/scene/enginescope.md) | A enum that indicates the search scope for [Scene](/engine/6000.3/script-reference/unityeditor/searchservice/scene.md) engines. It is used by [SceneSearchContext](/engine/6000.3/script-reference/unityeditor/searchservice/scenesearchcontext.md). |

## Static Methods

| Method                                                                                                  | Description                                  |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [RegisterEngine](/engine/6000.3/script-reference/unityeditor/searchservice/scene/registerengine.md)     | Registers a Scene search engine dynamically. |
| [UnregisterEngine](/engine/6000.3/script-reference/unityeditor/searchservice/scene/unregisterengine.md) | Unregisters a dynamically registered engine. |
