IsSubAsset
Checks whether an asset object is part of another asset.
Read time 2 minutesLast updated 3 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
IsSubAsset(Object)
Checks whether an asset object is part of another asset.
public static bool IsSubAsset(Object obj)
Parameters
The asset object to check.
Returns
Type | Description |
|---|---|
| bool | True if the asset is part of another asset. Otherwise, false. |
Remarks
Some assets are stored inside another asset. For example, a procedural material can be part of a material package. Use this method to find out whether an asset is stored this way.
Examples
using UnityEditor;using UnityEngine;public class Scriptable : ScriptableObject{}public class AssetDatabaseExamples : MonoBehaviour{ [MenuItem("AssetDatabase/Is Sub Asset Example")] static void IsSubAssetExample() { var materialAsset = new Material(Shader.Find("Standard")); //materialAsset is still in memory, therefore this will be False Debug.Log(AssetDatabase.IsSubAsset(materialAsset)); //Create a Scriptable object var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath); //Add the Material Asset to the Scriptable object, so that the Material becomes a Sub Asset of the Scriptable object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets(); //This will be True because the Material asset has been added to the mainAsset and is now a Sub Asset Debug.Log(AssetDatabase.IsSubAsset(materialAsset)); }}
IsSubAsset(EntityId)
Checks whether the asset with the specified EntityId is part of another asset.
public static bool IsSubAsset(EntityId entityId)
Parameters
The EntityId of the asset to check.
Returns
Type | Description |
|---|---|
| bool | True if the asset is part of another asset. Otherwise, false. |
Remarks
Some assets are stored inside another asset. For example, a procedural material can be part of a material package. Use this method to find out whether an asset is stored this way.
IsSubAsset(int)
Checks whether the asset with the specified instance ID is part of another asset.
public static bool IsSubAsset(int instanceID)
Parameters
The instance ID of the asset to check.
Returns
Type | Description |
|---|---|
| bool | True if the asset is part of another asset. Otherwise, false. |
Remarks
This overload is obsolete. Use the overload that takes an EntityId instead.