Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


CreateStateMachineBehaviour(MonoScript)

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

Definition

Warning
Removed. CreateStateMachineBehaviour is deprecated. Use CreateNewStateMachineBehaviour instead.
public static int CreateStateMachineBehaviour(MonoScript script)

Parameters

MonoScript class to instantiate.

Returns

Type

Description

intReturns instance id of created object, returns 0 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 obj = EditorUtility.EntityIdToObject(entityId); if (obj == null) Debug.LogError("No object could be found with entity id: " + entityId); else AssetDatabase.AddObjectToAsset(obj, state.ToString()); }}