CreateNewStateMachineBehaviour(MonoScript)
This function will create a StateMachineBehaviour instance based on the class define in this script.
Read time 1 minuteLast updated 11 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Animations
- Assembly: UnityEditor.CoreModule
public static EntityId CreateNewStateMachineBehaviour(MonoScript script)
Parameters
MonoScript class to instantiate.
Returns
Type | Description |
|---|---|
| EntityId | Returns EntityId of created object, returns EntityId.None if something is not valid. |
Remarks
This function will validate that the monoscript is a valid statemachine behaviour, the class must be a sub class of StateMachineBehaviour and shouldn't be a generic. Additional Resources: StateMachineBehaviour.
Examples
using UnityEditor;using UnityEditor.Animations;using UnityEngine;public class AddSMB{ public void DoAddStateMachineBehaviour(UnityEditor.Animations.AnimatorState state, MonoScript monoScript) { if (state == null) return; EntityId entityId = AnimatorController.CreateNewStateMachineBehaviour(monoScript); if (entityId == EntityId.None) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; } state.AddStateMachineBehaviour(monoScript.GetClass()); var behaviour = EditorUtility.EntityIdToObject(entityId); AssetDatabase.AddObjectToAsset(behaviour, state.ToString()); }}