Skip to content

StateMachines fail to initialize if preceded in BlendTree by OneShot #111315

@vaner-org

Description

@vaner-org

Tested versions

Reproducible in 4.4.1, 4.5

System information

Godot v4.5.stable - Windows 10 (build 19045) - Single-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 (NVIDIA; 32.0.15.8129) - AMD Ryzen 9 5950X 16-Core Processor (32 threads) - 63.91 GiB memory

Issue description

A OneShot that plays before a StateMachine inside a BlendTree will never allow the StateMachine to transition out of Start.

If I attempt to enter this state for the first time in-game,

Image

with my OneShot armed for entry from crouch,

Image

this is what happens:

oneshot.mp4

I get a T pose. If I then move slightly, and go from my crawling state to my prone state, with no "settle" oneshot inside prone, the StateMachine then starts working.

Steps to reproduce

Open MRP and run the game.

The OneShot plays a vertical movement, the StateMachine is looped horizontal movement.

All the MRP does is arm the OneShot, then wait 2 seconds and transition out of the root's StateMachine's Start into the BlendSpace. The nested StateMachine never triggers.

Minimal reproduction project (MRP)

StateMachineOneShotBug.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions