Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


CreateNewStateMachineBehaviour(MonoScript)

This function will create a StateMachineBehaviour instance based on the class define in this script.
Read time 1 minuteLast updated 10 days ago

Definition

public static EntityId CreateNewStateMachineBehaviour(MonoScript script)

Parameters

MonoScript class to instantiate.

Returns

Type

Description

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