UE 5.8 Mover: LNK2001 when an external module constructs `FLayeredMove_AnimRootMotion_SimDriven` (missing `MOVER_API` on `OnStart_Async`)

Summary

In UE 5.8 (Experimental Mover plugin), constructing FLayeredMove_AnimRootMotion_SimDriven from a game or plugin module — e.g. MakeShared<FLayeredMove_AnimRootMotion_SimDriven>(), exactly like the engine’s own UPlayMoverMontageCallbackProxy does — fails to link with an LNK2001 for FLayeredMove_AnimRootMotion_SimDriven::OnStart_Async.

The declaration in AnimRootMotionLayeredMove.h is missing the UE_API export macro. It is the only non-inline virtual in the class without it.

Environment

  • UE 5.8, Win64, editor target (reproduces in both Development and DebugGame configurations)
  • A plugin module with "Mover" (and "ChaosMover") in PublicDependencyModuleNames

Repro

  1. Enable the Mover and ChaosMover plugins in a project.
  2. From a game/plugin module (not from inside the Mover module), queue an anim root motion layered move on an async Mover component:
1 Like