SetMainObject(Object, string)
Specifies which object in the asset file should become the main object after the next import.
Read time 1 minuteLast updated 5 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
public static void SetMainObject(Object mainObject, string assetPath)
Parameters
Remarks
All other objects in the asset become children of the main object. NOTE: This function modifies the importer object, not the asset itself. The next import reflects the change in the imported asset.
Examples
using UnityEditor;using UnityEngine;public class Scriptable : ScriptableObject{}public class AssetDatabaseExamples : MonoBehaviour{ [MenuItem("AssetDatabase/Set Main Object Example")] public static void SetMainObjectExample() { //Create a Scriptable Object and a Material var materialAsset = new Material(Shader.Find("Standard")); var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath); //Add the Material to the Scriptable Object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets(); //Set the Material to be the main Object and import it AssetDatabase.SetMainObject(materialAsset, scriptableAssetPath); AssetDatabase.ImportAsset(scriptableAssetPath); }}