Hi,
For a networked project we are looking into using the experimental Mover plugin to move our AI, controlled trough StateTree. The player in our project makes use of the “Character Movement” component from ACharacter and not mover.
When trying to replicate the AI movement I noticed that on the listen client the AI movement is not being replicated, while on the server client the AI movement is functional.
After replicating this issue in the Pathfinding Mover Example map I noticed that the AI only replicates its movement if the player pawn also has a mover component.
My question is:
Is AI Mover replication only supposed to work if the player has a Mover component? Even if only AI uses mover while the player uses CMC. Or is this a bug with the mover replication code?
Steps to Reproduce
Prerequisites plugins:
- Enable the “Mover” plugin
- Enable the “Mover Examples” plugin
- Restart Editor to enable the plugins
Prerequisites pawn:
- Create a new Blueprint derived from APawn
- Add a Capsule and assign it as the root component
- Add a SkeletalMesh and parent it to the Capsule Component
- Optional: Add camera and Input to look around
Prerequisites map setup:
- In the MoverExamples plugin find and open the map “L_PathfindingMovement”
- /All/EngineData/Plugins/MoverExamples/Maps/L_PathfindingMovement
- In the world settings modify the “Default Pawn Class” to the Prerequisites Pawn class.
Prerequisites Editor PIE Setup:
- In “Play Settings” set number of players to “2”
- In “Play Settings” set “Net Mode” to “Play as Listen Server”
Repro Steps:
- With all the setup of above, launch a PIE session.
- Notice that the AI in the level on the listen client is not moving but are on the server client
- Stop the PIE session
- Open the prerequisites pawn, add a “Mover” component
- Compile and save the pawn
- Launch a PIE session
- Notice that on both listen client and server client the AI is moving
Update:
Applying the recommended settings from the ReadMe enables the replication of movement without the requirement of the player having a Mover component.
Simulated Proxy Network LOD: Interpolated
Enable Fixed Tick Smoothing: True
Having any of these 2 settings not set to those values prevents the movement from being replicated without a mover component on the player, from testing.
Hey Koen,
Thanks for bringing this to our attention! This seems like a bug with Movers replication code as what you’re doing sounds reasonable. I was also able to reproduce the issue locally so I’ve filed a Jira for it. Glad you at least found a workaround!
Thanks,
Nate