Skip to content

Releases: Tonetfal/UE5FSM

v1.4.0-alpha

11 May 21:09

Choose a tag to compare

  • Update to ue5coro 2.1
  • Add UE5Coro::UE5FSM::AI::AIMoveTo() that abort the MoveTo task when the awaiter is cancelled, unlike the original UE5Coro::AI::AIMoveTo() which only cancels the awaiter, leaving the AIMoveTo async task running
  • Make RunLatentExecution (the RUN_LATENT_EXECUTION() macro) cancel the awaiter in case the latent execution was cancelled; previously it was leaving it running
  • Add AllowList to the Machine State. Now you can not only explicitly disallow transition to a certain state, but disallow transition to ANY state besides a given list, which makes it easier to create states that only care about one state
  • Add UMachineState::PostInitialize() to simplify the initialization of a machine state
  • Integrate some of existing debug in Visual Logger

v1.3.4-alpha

29 Mar 19:46

Choose a tag to compare

  • Substitute std::queue with TArray for debug code
  • Add copyright comment
  • Other minor changes

v1.3.3-alpha

15 Apr 10:34

Choose a tag to compare

  • Fix minor issues related to packaging.

v1.3.2-alpha

17 Jan 16:39

Choose a tag to compare

  • Fix some warnings.

v1.3.1-alpha

17 Jan 12:56

Choose a tag to compare

  • Exclude UE5Coro from global namespace.

v1.3.0-alpha

15 Jan 19:42

Choose a tag to compare

Changes:

  • Add EndState() function. It's pretty similar to PopState(), but instead of triggered OnPopped(), it triggers OnEnded().
  • Refactor UMachineState events. Each event now know what state the machine is about to transit, or what state it's transiting from.
  • Fix states stack manipulation while dispatching an event. Previously, calling any function like GotoState() would result into crashing. Now it's allowed to effectively do so, but only once at a time. It means that it's impossible to ask more than one stack manipulation action during an event being dispatched, up to the point the action is not fully dispatched. However, it's still possible to queue pushes.
  • Refactor GotoLabel(). Allow to assign FGameplayTag::EmptyTag to tell the state to not execute any label. Now the function terminates any latent execution of that particular state.

v1.2.1-alpha

13 Jan 15:54

Choose a tag to compare

  • Refactor PushStateQueued() and PUSH_STATE_QUEUED() signatures.

v1.2.0-alpha

13 Jan 13:42

Choose a tag to compare

  • Add new way of pushing states on the stack that allows to create requests that are executed as soon as possible (PushStateQueued()).
  • Refactor RUN_LATENT_EXECUTION(), this affects PUSH_STATE() and such macros.
  • Fix missing UE5FSM category in gameplay debugger under some circumstances.

v1.1.3-alpha

11 Jan 21:45

Choose a tag to compare

  • Publicaly expose some utility methods.

v1.1.2-alpha

11 Jan 17:20

Choose a tag to compare

  • Fix the ability to wait for push action using coroutines.
  • Previously the pushed state could pop itself in OnPushed(), resuming the state that was paused, but the FSM still would've been waiting for the paused state to resume.
  • This also includes some improvement and fixes to edge cases when certain FSM actions take place too quickly.