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

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