How to change execution order for components?

We have an old(UE 4.27) project that is currently being upgraded to UE 5.4.
There was originally a component in the project that inherited from PawnMovementComponent, which executed Tick before SkeletalMeshComponent in UE 4.27.
But in UE 5.4, this component becomes Tick executed after SkeletalMeshComponent.
This led to bugs in the project.
Did UE 5.4 change the tick execution order of the components?
We need to ensure that the component executes Tick before SkeletalMeshComponent.
Is there any way to do it?

You can change the Tick Group of the component to “shift” the tick.
Do not hope that within one group the events will be called as you need, this is a random.

1 Like

In the old project, although they each set different TickGroup, TG_PrePhysics for SkeletalMeshComponent, and TG_StartPhysics for PawnMovementComponent subclass.
But I found that when executing Ticks, they are all executed in TG_DuringPhysics.
Is this possibly related to RootMotion?
The RootMotion is enabled when playing animation.

The problem is solved by calling AddTickPrerequisiteComponent in PostInitializeComponents.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.