Nested Chooser reads AnimBP float as 0 while parent chooser reads it correctly

Hi. I’m investigating what looks like a Chooser / Nested Chooser runtime binding issue and wanted to check whether this is a known limitation or a bug.

Pipeline:
AnimBP → parent chooser → nested chooser

Setup:

  • AnimBP updates a movement speed value correctly
  • Parent chooser reads that speed correctly
  • Nested chooser is evaluated from the parent chooser
  • Both parent and nested chooser are intended to read the same speed value directly from the same AnimBP source

Observed behavior:

  • The source speed value is correct before chooser evaluation
  • The parent chooser reads and debugs it correctly
  • The nested chooser always resolves that same input as 0

So this does not look like a bad source-data issue, because if the source were wrong, the parent chooser should also be wrong.

Question:
Is this expected behavior, or does it sound like a bug in nested chooser context/property binding resolution?

Thanks.

UPD: found the issue. It is not a stale C++ update problem. My AnimInstance updates correctly every frame, AnimBP sees the live values, and a parent chooser reads them correctly too. The problem happens specifically in a nested chooser when reading a float through a nested struct path like CharacterData → CurrentMovementSpeed. In my case that value was wrong there, even though it was correct everywhere else. Exposing the same value as a flat UPROPERTY directly on the AnimInstance fixed it immediately. So the workaround is: for nested choosers, avoid critical float params inside nested structs and expose them as flat AnimInstance properties instead