Summary
    Base class for the various states a 
		Brains.Character can be in and actions they can perform.
    - Assembly
- Animancer.dll 
- Namespace
- Animancer.Examples .AnimatorControllers .GameKit 
- Interfaces
- Base Types
- 
									- MonoBehaviour
- StateBehaviour
 
- Derived Types
							graph BT
	Type-->Base0["StateBehaviour"]
	click Base0 "/animancer-v7-4/api/Animancer.FSM/StateBehaviour"
	Base0-->Base1["MonoBehaviour"]
	Type-.->Interface0["IOwnedState<CharacterState>"]
	Type-.->Interface1["IState"]
	click Interface1 "/animancer-v7-4/api/Animancer.FSM/IState"
	Type["CharacterState"]
class Type type-node
	Derived0["RespawnState"]-->Type
	click Derived0 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/RespawnState"
	Derived1["LocomotionState"]-->Type
	click Derived1 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/LocomotionState"
	Derived2["DieState"]-->Type
	click Derived2 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/DieState"
	Derived3["AirborneState"]-->Type
	click Derived3 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/AirborneState"
	Derived4["IdleState"]-->Type
	click Derived4 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/IdleState"
	Derived5["FlinchState"]-->Type
	click Derived5 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/FlinchState"
	Derived6["LandingState"]-->Type
	click Derived6 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/LandingState"
	Derived7["AttackState"]-->Type
	click Derived7 "/animancer-v7-4/api/Animancer.Examples.AnimatorControllers.GameKit/AttackState"
						
					Syntax
[AddComponentMenu(Strings.ExamplesMenuPrefix + "Game Kit - Character State")]
[HelpURL(Strings.DocsURLs.ExampleAPIDocumentation + nameof(AnimatorControllers) + "." + nameof(GameKit) + "/" + nameof(CharacterState))]
public abstract class CharacterState : StateBehaviour, IOwnedState<CharacterState>, IStateExamples
Attributes
| Type | Description | 
|---|---|
| AddComponentMenu | |
| HelpURLAttribute | 
Properties
| Name | Value | Summary | 
|---|---|---|
| CanEnterState | bool | [ Animancer.FSM.IState.CanEnterState]
    Determines whether theAnimancer.FSM.StateMachine`1can enter this state.
    Always returns true unless overridden.Inherited from StateBehaviour | 
| CanExitState | bool | [ Animancer.FSM.IState.CanExitState]
    Determines whether theAnimancer.FSM.StateMachine`1can exit this state.
    Always returns true unless overridden.Inherited from StateBehaviour | 
| Character | Character | |
| FullMovementControl | bool | 
    Indicates whether the root motion applied each frame while this state is active should be constrained to
    only move in the specified  CharacterBrain.Movement. Otherwise the root motion can
    move theAnimancer.Examples.AnimatorControllers.GameKit.CharacterState.Characterin any direction. Default is true. | 
| OwnerStateMachine | StateMachine | The  Animancer.FSM.StateMachine`1that this state is used in. | 
| RootMotion | Vector3 | 
    Some states (such as  Animancer.Examples.AnimatorControllers.GameKit.AirborneState) will want to apply their own source of root motion, but
    most will just use the root motion from the animations. | 
| StickToGround | bool | 
    Jumping enters the  Animancer.Examples.AnimatorControllers.GameKit.AirborneState, butUnityEngine.CharacterController.isGroundeddoesn't
    become false until after the first update, so we want to make sure theAnimancer.Examples.AnimatorControllers.GameKit.CharacterState.Characterwon't stick
    to the ground during that update. | 
Methods
| Name | Value | Summary | 
|---|---|---|
| OnEnterState | void | [ Animancer.FSM.IState.OnEnterState]
    Asserts that this component isn't already enabled, then enables it.Inherited from StateBehaviour | 
| OnExitState | void | [ Animancer.FSM.IState.OnExitState]
    Asserts that this component isn't already disabled, then disables it.Inherited from StateBehaviour | 
| OnValidate | void | [Editor-Only] States start disabled and only the current state gets enabled at runtime. |