Skip to main content

Skill State

A SkillState defines how a Skill behaves while it is active. It controls the activation flow, casting behavior, targeting, and the Effects triggered throughout the Skill lifecycle.

Fields

FieldDescription
NameThe name of the Skill State.
Use TypeDetermines how the Skill is used. Available options: Instant, Toggleable.
Activation TypeDetermines how the Skill is activated. Available options: WithInteraction, WithoutInteraction.
Use Blocker StatAn IntStat. If its value is greater than 0, the Skill cannot be activated.
CasterDefines how the Skill is cast.
TargeterDefines how the Skill selects and delivers its Effects to targets.
Skill Event EffectsDefines Effects that are automatically triggered at different points during the Skill lifecycle.

Skill Event Effects

Skill Event Effects allow you to trigger Effects automatically when specific Skill events occur.

SkillEventEffects reference

Skill Events

EventDescription
OnUseTriggered when the Skill is initially activated.
WhileMountedTriggered when the Skill State is mounted. For Normal Skills, this occurs when the Skill is first created. For Evolver Skills, it is triggered when the first State is mounted and whenever the Skill transitions to another State.
OnUnmountTriggered when the current State is unmounted. It is also triggered when the Skill is disposed.
WhileUsingAvailable only for Toggleable Skill States. Triggered when the Skill is toggled on.
StoppedUsingAvailable only for Toggleable Skill States. Triggered when the Skill is toggled off.
BeforeUseTriggered after the Skill is activated but before casting begins.
OnCastEndTriggered when the configured CastingModel finishes casting. CastingModel_UnityAnimation triggers this event when the CastingEnded Animation Event is received. CastingModel_Direct triggers it one frame after casting begins.
OnInterruptedTriggered when the Skill is interrupted before it finishes.

On Interrupted

OnInterrupted can be triggered in multiple situations.

Toggleable Skills

A Toggleable Skill is interrupted when it is forced to stop unexpectedly.

For example, imagine a Skill that fires continuously while the input is held. If its UseBlockerStat depends on the player's ammo count and becomes greater than 0 when the ammo reaches zero, the Skill is interrupted and the OnInterrupted event is triggered.

Interrupted Casting

Casting can also be interrupted by the configured CastingModel.

If the CastingOnProgressStat returns to 0 before the cast completes, the Skill is interrupted instead of reaching OnCastEnd.

This allows systems such as animation canceling or external gameplay Effects to interrupt Skills naturally.

For this behavior to work:

  • CastingOnProgressStatKey must be assigned.
  • CastingStatStateControlsTheCastingState must be enabled in the CastingModel.