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 13 days ago

Definition

Warning
Deprecated. 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; int instanceID = AnimatorController.CreateStateMachineBehaviour(monoScript); if (instanceID == 0) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; } state.AddStateMachineBehaviour(monoScript.GetClass()); var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) Debug.LogError("No object could be found with instance id: " + instanceID); else AssetDatabase.AddObjectToAsset(obj, state.ToString()); }}