When an actor has a Child Actor Component that's a valid moving base for a character to walk on, the ticking prerequisites are set against the Child Actor and not the root owning actor that actually governs the overall actor cluster.
So it's possible for based movement to be done in the wrong order:
Child Actor tick
Character tick / based movement update
Root Actor tick that also moves Child Actor, due to being attached in the scene
The AddTickDependency function could use an improvement to account for this case.
From UDN case: [Link Removed]
A simple test case would be:
Use any project with a Character, such as the 3rd person template project
Create a Blueprint actor that has a static mesh platform, marked as "Movable"
Add a simple actor to the level, like a primitive shape. Also mark it as "Movable"
Add a Child Actor Component to the level actor. Use your Blueprint platform as the Template.
Do some scripting to make the simple actor move (the one that has the CAC)
Run a PIE session, and jump onto the platform
Break in ACharacter::SetBase and trace down into AddTickDependency to verify that the prerequisite is set only against the spawned child actor, NOT the root actor
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-205390 in the post.
0 |
Component | UE - Gameplay - Player Movement |
---|---|
Affects Versions | 5.3 |
Created | Jan 31, 2024 |
---|---|
Updated | Feb 2, 2024 |