Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RemoveObjectFromAsset(Object)

Removes object from its asset (Additional Resources: AssetDatabase.AddObjectToAsset ).
Read time 1 minuteLast updated 6 days ago

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor.CoreModule
public static void RemoveObjectFromAsset(Object objectToRemove)

Parameters

objectToRemove

Object to remove.

Examples

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(); }}