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