# AssetImporterEditor

> Default editor for all asset importer settings.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.AssetImporters](/engine/6000.7/script-reference/unityeditor/assetimporters.md)
* **Assembly:** UnityEditor.CoreModule
* **Inherits from:** [Editor](/engine/6000.7/script-reference/unityeditor/editor.md)

```csharp
public abstract class AssetImporterEditor : Editor
```

## Remarks

Use the default editor to edit the import settings for assets. You can define a custom import settings editor for a specific asset type. To do this, create a new class that inherits from AssetImporterEditor and uses a CustomEditorAttribute that refers to a [ScriptedImporter](/engine/6000.7/script-reference/unityeditor/assetimporters/scriptedimporter.md).

The following example shows how to make a custom ScriptedImporterEditor for a ScriptedImporter with a custom layout.

```csharp
using System.IO;
using UnityEditor;
using UnityEditor.AssetImporters;
using UnityEngine;

[CustomEditor(typeof(TransformImporter))]
[CanEditMultipleObjects]
public class TransformImporterEditor : ScriptedImporterEditor
{
    // Stored SerializedProperty to draw in OnInspectorGUI.
    SerializedProperty m_GenerateChild;

    public override void OnEnable()
    {
        base.OnEnable();
        // Once in OnEnable, retrieve the serializedObject property and store it.
        m_GenerateChild = serializedObject.FindProperty("generateChild");
    }

    public override void OnInspectorGUI()
    {
        // Update the serializedObject in case it has been changed outside the Inspector.
        serializedObject.Update();

        // Draw the boolean property.
        EditorGUILayout.PropertyField(m_GenerateChild);

        // Apply the changes so Undo/Redo is working
        serializedObject.ApplyModifiedProperties();

        // Call ApplyRevertGUI to show Apply and Revert buttons.
        ApplyRevertGUI();
    }
}

[ScriptedImporter(0, ".transform")]
public class TransformImporter : ScriptedImporter
{
    public bool generateChild;

    public override void OnImportAsset(AssetImportContext ctx)
    {
        GameObject root = ObjectFactory.CreateGameObject(Path.GetFileNameWithoutExtension(ctx.assetPath));
        if (generateChild)
        {
            GameObject child = ObjectFactory.CreateGameObject("child");
            child.transform.SetParent(root.transform);
        }
        ctx.AddObjectToAsset("main", root);
        ctx.SetMainObject(root);
    }
}
```

The following example demonstrates a specific case where the user cannot change settings and the Apply/Revert buttons are hidden with [AssetImporterEditor.needsApplyRevert](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/needsapplyrevert.md).

```csharp
using System.IO;
using UnityEditor;
using UnityEditor.AssetImporters;
using UnityEngine;

[CustomEditor(typeof(EmptinessImporter))]
[CanEditMultipleObjects]
public class EmptinessImporterEditor : ScriptedImporterEditor
{
    //Let the parent class know that the Apply/Revert mechanism is skipped.
    protected override bool needsApplyRevert => false;

    public override void OnInspectorGUI()
    {
        // Draw some information
        EditorGUILayout.HelpBox("Because this Importer doesn't have any settings, the Apply/Revert buttons are hidden.", MessageType.None);
    }
}

[ScriptedImporter(0, ".emptiness")]
public class EmptinessImporter : ScriptedImporter
{
    public override void OnImportAsset(AssetImportContext ctx)
    {
        GameObject root = ObjectFactory.CreateGameObject(Path.GetFileNameWithoutExtension(ctx.assetPath));
        ctx.AddObjectToAsset("main", root);
        ctx.SetMainObject(root);
    }
}
```

The following example shows how to use [AssetImporterEditor.extraDataType](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatype.md) to read or save settings that are part of the imported asset, in the custom AssetImporterEditor.

```csharp
using System;
using System.IO;
using UnityEditor;
using UnityEditor.AssetImporters;
using UnityEngine;
using Object = UnityEngine.Object;

[CustomEditor(typeof(BooleanImporter))]
[CanEditMultipleObjects]
public class BooleanImporterEditor : ScriptedImporterEditor
{
    // Property to show in the custom OnInspectorGUI.
    SerializedProperty m_BooleanProperty;

    // override extraDataType to return the type that will be used in the Editor.
    protected override Type extraDataType => typeof(BooleanClass);

    // override InitializeExtraDataInstance to set up the data.
    protected override void InitializeExtraDataInstance(Object extraTarget, int targetIndex)
    {
        var boolean = (BooleanClass)extraTarget;
        // Read the boolean value from the text file and fill the extraTarget object with the data.
        string fileContent = File.ReadAllText(((AssetImporter)targets[targetIndex]).assetPath);
        if (!bool.TryParse(fileContent, out boolean.boolean))
        {
            boolean.boolean = false;
        }
    }

    protected override void Apply()
    {
        base.Apply();
        // After the Importer is applied, rewrite the file with the custom value.
        for (int i = 0; i < targets.Length; i++)
        {
            string path = ((AssetImporter)targets[i]).assetPath;
            File.WriteAllText(path, ((BooleanClass)extraDataTargets[i]).boolean.ToString());
        }
    }

    public override void OnEnable()
    {
        base.OnEnable();
        // In OnEnable, retrieve the extraDataSerializedObject property and store it.
        m_BooleanProperty = extraDataSerializedObject.FindProperty("boolean");
    }

    public override void OnInspectorGUI()
    {
        // Update the extraDataSerializedObject in case it has been changed outside the Inspector.
        extraDataSerializedObject.Update();

        // Draw the boolean property.
        EditorGUILayout.PropertyField(m_BooleanProperty);

        // Apply the changes so Undo/Redo is working.
        extraDataSerializedObject.ApplyModifiedProperties();

        // Call ApplyRevertGUI to show Apply and Revert buttons.
        ApplyRevertGUI();
    }
}

public class BooleanClass : ScriptableObject
{
    public bool boolean;
}

[ScriptedImporter(0, ".boolean")]
public class BooleanImporter : ScriptedImporter
{
    public override void OnImportAsset(AssetImportContext ctx)
    {
        string fileContent = File.ReadAllText(ctx.assetPath);
        var booleanObj = ObjectFactory.CreateInstance<BooleanClass>();
        if (!bool.TryParse(fileContent, out booleanObj.boolean))
        {
            booleanObj.boolean = false;
        }
        ctx.AddObjectToAsset("main", booleanObj);
        ctx.SetMainObject(booleanObj);
        Debug.Log("Imported Boolean value: " + booleanObj.boolean);
    }
}
```

You can also use ScriptedImporter settings and extraData in the same AssetImporterEditor:

```csharp
using UnityEditor;
using UnityEditor.AssetImporters;

[CustomEditor(typeof(SomeScriptedImporter))]
[CanEditMultipleObjects]
public class SomeImporterEditor : ScriptedImporterEditor
{
    // ...

    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        extraDataSerializedObject.Update();

        // Use propertyDrawers and custom GUI for any property from both serializedObject and extraDataSerializedObject.

        extraDataSerializedObject.ApplyModifiedProperties();
        serializedObject.ApplyModifiedProperties();

        ApplyRevertGUI();
    }
}

[ScriptedImporter(0, ".someFile")]
public class SomeScriptedImporter : ScriptedImporter
{
    public override void OnImportAsset(AssetImportContext ctx)
    {
        // ...
    }
}
```

## Properties

| Property                                                                                                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [extraDataSerializedObject](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradataserializedobject.md) | A [SerializedObject](/engine/6000.7/script-reference/unityeditor/serializedobject.md) that represents the [AssetImporterEditor.extraDataTarget](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatarget.md) or the [AssetImporterEditor.extraDataTargets](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatargets.md) of the [AssetImporterEditor](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor.md). |
| [extraDataTarget](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatarget.md)                     | The extra data object associated with the [Editor.target](/engine/6000.7/script-reference/unityeditor/editor/target.md).                                                                                                                                                                                                                                                                                                                                                                                              |
| [extraDataTargets](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatargets.md)                   | An array of objects associated with each [Editor.targets](/engine/6000.7/script-reference/unityeditor/editor/targets.md).                                                                                                                                                                                                                                                                                                                                                                                             |
| [extraDataType](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/extradatatype.md)                         | Override this property to return a type that inherits from ScriptableObject. This makes the AssetImporterEditor aware of serialized data outside of the Importer, allowing it to handle multi-selection and Apply/Revert button states.                                                                                                                                                                                                                                                                               |
| [needsApplyRevert](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/needsapplyrevert.md)                   | Whether the ApplyRevertGUI method is required to draw in the Inspector.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [showImportedObject](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/showimportedobject.md)               | Should imported object be shown as a separate editor?                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [useAssetDrawPreview](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/useassetdrawpreview.md)             | Determines if the asset preview is handled by the AssetEditor or the Importer DrawPreview                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Methods

| Method                                                                                                                                       | Description                                                                                             |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [Apply](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/apply.md)                                             | Saves any changes from the Editor's control into the asset's import settings object.                    |
| [ApplyButton](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/applybutton.md)                                 | Implements the 'Apply' button of the Inspector.                                                         |
| [ApplyRevertGUI](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/applyrevertgui.md)                           | Adds 'Apply' and 'Revert' buttons to the Editor.                                                        |
| [AreImporterTargetsValid](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/areimportertargetsvalid.md)         | Determines whether every inspected importer target still exists.                                        |
| [Awake](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/awake.md)                                             | This function is called when the Editor script is started.                                              |
| [CanApply](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/canapply.md)                                       | Determines if the modifications to import settings can be applied.                                      |
| [DiscardChanges](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/discardchanges.md)                           | Discards unsaved changes to the contents of the editor.                                                 |
| [DrawPreview](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/drawpreview.md)                                 | The first entry point for Preview Drawing.                                                              |
| [HasModified](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/hasmodified.md)                                 | Determine if the import settings have been modified.                                                    |
| [InitializeExtraDataInstance](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/initializeextradatainstance.md) | This method is called during the initialization process of the Editor, after Awake and before OnEnable. |
| [OnApplyRevertGUI](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/onapplyrevertgui.md)                       | Process the 'Apply' and 'Revert' buttons.                                                               |
| [OnDisable](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/ondisable.md)                                     | This function is called when the editor object goes out of scope.                                       |
| [OnEnable](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/onenable.md)                                       | This function is called when the object is loaded.                                                      |
| [OnInspectorGUI](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/oninspectorgui.md)                           | Override this method to create your own Inpsector GUI for a ScriptedImporter.                           |
| [RevertButton](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/revertbutton.md)                               | Implements the 'Revert' button of the inspector.                                                        |
| [SaveChanges](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/savechanges.md)                                 | Performs a save action on the contents of the editor.                                                   |

## Classes

| Class                                                                                                                                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AssetImporterEditor.ApplyRevertButtonContainer](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/applyrevertbuttoncontainer.md) | Adds the 'Apply' and 'Revert' buttons to the Editor UI. Use this VisualElement in a ScriptedImporterEditor when [AssetImporterEditor.needsApplyRevert](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/needsapplyrevert.md) is enabled. This is the UIToolkit equivalent to [AssetImporterEditor.ApplyRevertGUI()](/engine/6000.7/script-reference/unityeditor/assetimporters/assetimportereditor/applyrevertgui.md). |

## Inheritance

**Inherited Members:**

* [Editor.CreateEditorWithContext(Object\[\], Object, Type)](/engine/6000.7/script-reference/unityeditor/editor/createeditorwithcontext.md)
* [Editor.CreateCachedEditorWithContext(Object, Object, Type, Editor)](/engine/6000.7/script-reference/unityeditor/editor/createcachededitorwithcontext.md#createcachededitorwithcontext\(object-object-type-editor\))
* [Editor.CreateCachedEditorWithContext(Object\[\], Object, Type, Editor)](/engine/6000.7/script-reference/unityeditor/editor/createcachededitorwithcontext.md#createcachededitorwithcontext\(object-object-type-editor\))
* [Editor.CreateCachedEditor(Object, Type, Editor)](/engine/6000.7/script-reference/unityeditor/editor/createcachededitor.md#createcachededitor\(object-type-editor\))
* [Editor.CreateCachedEditor(Object\[\], Type, Editor)](/engine/6000.7/script-reference/unityeditor/editor/createcachededitor.md#createcachededitor\(object-type-editor\))
* [Editor.CreateEditor(Object, Type)](/engine/6000.7/script-reference/unityeditor/editor/createeditor.md#createeditor\(object-type\))
* [Editor.CreateEditor(Object\[\], Type)](/engine/6000.7/script-reference/unityeditor/editor/createeditor.md#createeditor\(object-type\))
* [Editor.DrawDefaultInspector()](/engine/6000.7/script-reference/unityeditor/editor/drawdefaultinspector.md)
* [Editor.Repaint()](/engine/6000.7/script-reference/unityeditor/editor/repaint.md)
* [Editor.CreateInspectorGUI()](/engine/6000.7/script-reference/unityeditor/editor/createinspectorgui.md)
* [Editor.RequiresConstantRepaint()](/engine/6000.7/script-reference/unityeditor/editor/requiresconstantrepaint.md)
* [Editor.DrawHeader()](/engine/6000.7/script-reference/unityeditor/editor/drawheader.md)
* [Editor.ShouldHideOpenButton()](/engine/6000.7/script-reference/unityeditor/editor/shouldhideopenbutton.md)
* [Editor.DrawFoldoutInspector(Object, Editor)](/engine/6000.7/script-reference/unityeditor/editor/drawfoldoutinspector.md)
* [Editor.HasPreviewGUI()](/engine/6000.7/script-reference/unityeditor/editor/haspreviewgui.md)
* [Editor.CreatePreview(VisualElement)](/engine/6000.7/script-reference/unityeditor/editor/createpreview.md)
* [Editor.GetPreviewTitle()](/engine/6000.7/script-reference/unityeditor/editor/getpreviewtitle.md)
* [Editor.RenderStaticPreview(string, Object\[\], int, int)](/engine/6000.7/script-reference/unityeditor/editor/renderstaticpreview.md)
* [Editor.OnPreviewGUI(Rect, GUIStyle)](/engine/6000.7/script-reference/unityeditor/editor/onpreviewgui.md)
* [Editor.OnInteractivePreviewGUI(Rect, GUIStyle)](/engine/6000.7/script-reference/unityeditor/editor/oninteractivepreviewgui.md)
* [Editor.OnPreviewSettings()](/engine/6000.7/script-reference/unityeditor/editor/onpreviewsettings.md)
* [Editor.GetInfoString()](/engine/6000.7/script-reference/unityeditor/editor/getinfostring.md)
* [Editor.UseDefaultMargins()](/engine/6000.7/script-reference/unityeditor/editor/usedefaultmargins.md)
* [Editor.hasUnsavedChanges](/engine/6000.7/script-reference/unityeditor/editor/hasunsavedchanges.md)
* [Editor.saveChangesMessage](/engine/6000.7/script-reference/unityeditor/editor/savechangesmessage.md)
* [Editor.target](/engine/6000.7/script-reference/unityeditor/editor/target.md)
* [Editor.targets](/engine/6000.7/script-reference/unityeditor/editor/targets.md)
* [Editor.serializedObject](/engine/6000.7/script-reference/unityeditor/editor/serializedobject.md)
* [Editor.finishedDefaultHeaderGUI](/engine/6000.7/script-reference/unityeditor/editor/finisheddefaultheadergui.md)
* [ScriptableObject.CreateInstance(string)](/engine/6000.7/script-reference/unityengine/scriptableobject/createinstance.md#createinstance\(string\))
* [ScriptableObject.CreateInstance(Type)](/engine/6000.7/script-reference/unityengine/scriptableobject/createinstance.md#createinstance\(type\))
* [ScriptableObject.CreateInstance\<T>()](/engine/6000.7/script-reference/unityengine/scriptableobject/createinstance.md)
* [Object.GetEntityId()](/engine/6000.7/script-reference/unityengine/object/getentityid.md)
* [Object.GetHashCode()](/engine/6000.7/script-reference/unityengine/object/gethashcode.md)
* [Object.InstantiateAsync\<T>(T)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Transform, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, InstantiateParameters, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, InstantiateParameters, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>, InstantiateParameters, CancellationToken)](/engine/6000.7/script-reference/unityengine/object/instantiateasync.md)
* [Object.Instantiate(Object, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object-vector3-quaternion\))
* [Object.Instantiate(Object, Vector3, Quaternion, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object-vector3-quaternion-transform\))
* [Object.Instantiate(Object)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object\))
* [Object.Instantiate(Object, Scene)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object-scene\))
* [Object.Instantiate\<T>(T, InstantiateParameters)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion, InstantiateParameters)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate(Object, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object-transform\))
* [Object.Instantiate(Object, Transform, bool)](/engine/6000.7/script-reference/unityengine/object/instantiate.md#instantiate\(object-transform-bool\))
* [Object.Instantiate\<T>(T)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Transform)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Transform, bool)](/engine/6000.7/script-reference/unityengine/object/instantiate.md)
* [Object.Destroy(Object, float)](/engine/6000.7/script-reference/unityengine/object/destroy.md)
* [Object.DestroyImmediate(Object, bool)](/engine/6000.7/script-reference/unityengine/object/destroyimmediate.md)
* [Object.FindObjectsByType(Type)](/engine/6000.7/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytype\(type\))
* [Object.FindObjectsByType(Type, FindObjectsInactive)](/engine/6000.7/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytype\(type-findobjectsinactive\))
* [Object.DontDestroyOnLoad(Object)](/engine/6000.7/script-reference/unityengine/object/dontdestroyonload.md)
* [Object.FindAnyObjectByType\<T>()](/engine/6000.7/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytypet\(\))
* [Object.FindAnyObjectByType\<T>(FindObjectsInactive)](/engine/6000.7/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytypet\(findobjectsinactive\))
* [Object.FindObjectsByType\<T>()](/engine/6000.7/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytypet\(\))
* [Object.FindObjectsByType\<T>(FindObjectsInactive)](/engine/6000.7/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytypet\(findobjectsinactive\))
* [Object.FindAnyObjectByType(Type)](/engine/6000.7/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytype\(type\))
* [Object.FindAnyObjectByType(Type, FindObjectsInactive)](/engine/6000.7/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytype\(type-findobjectsinactive\))
* [Object.ToString()](/engine/6000.7/script-reference/unityengine/object/tostring.md)
* [Object.name](/engine/6000.7/script-reference/unityengine/object/name.md)
* [Object.hideFlags](/engine/6000.7/script-reference/unityengine/object/hideflags.md)

### Operators

| Operator                                                                           | Description                                                             |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [operator ==](/engine/6000.7/script-reference/unityengine/object/op-equality.md)   | Compares two object references to see if they refer to the same object. |
| [bool](/engine/6000.7/script-reference/unityengine/object/op-implicit.md)          | Determines whether the object exists.                                   |
| [operator !=](/engine/6000.7/script-reference/unityengine/object/op-inequality.md) | Compares if two objects refer to a different object.                    |
