# RemoveObjectFromAsset(Object)

> Removes object from its asset (Additional Resources: AssetDatabase.AddObjectToAsset ).

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.6/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public static void RemoveObjectFromAsset(Object objectToRemove)
```

### Parameters

**** (\[Object]\(/engine/6000.6/script-reference/unityengine/object)): Object to remove.

### Examples

```csharp
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class Scriptable : ScriptableObject
{
}
public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Remove Object From Asset Example")]
    public static void RemoveObjectFromAssetExample()
    {
        var scriptableObjectList = new List<Scriptable>();

        //Create Scriptable Objects and store them in a List
        for (var i = 0; i < 10; i++)
        {
            scriptableObjectList.Add(ScriptableObject.CreateInstance<Scriptable>());
            AssetDatabase.CreateAsset(scriptableObjectList[i], $"Assets/ScriptableObjects/SO{i}.asset");
        }

        //Add Materials as Sub Assets to the Scriptable Objects
        foreach (var so in scriptableObjectList)
        {
            AssetDatabase.AddObjectToAsset(new Material(Shader.Find("Standard")), so);
        }
        AssetDatabase.SaveAssets();

        //Remove Materials from their Scriptable Objects
        foreach (var so in scriptableObjectList)
        {
            var material =
                AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(so), typeof(Material));
            AssetDatabase.RemoveObjectFromAsset(material);
        }
        AssetDatabase.SaveAssets();
    }
}
```
