In my game, characters always stand on a Pawn called “Chessboard,” and each Chessboard has 10 positions where characters can stand.
Player input causes the Chessboard to move, and the characters try to move to their corresponding positions on the Chessboard. Currently, the character movement is implemented by calling MoveToActor()
every tick.
However, there are some issues:
- Once the character touches the collision volume of the target Actor, it stops moving. I want the character to move further into the center of the collision volume, but even setting
StopOnOverlap
to false andAcceptanceRadius
to 0 doesn’t seem to work. - Unreal Engine only allows Actors and Vectors as movement targets. I want the actual movement target to be a DecalComponent under the character’s feet. Creating a temporary Actor and attaching it to the Decal is very inelegant—I’m looking for a better approach.
- Calling
MoveToActor()
every tick also feels inelegant. Are there any clever solutions to this?
If it’s necessary to override some classes with C++, I’d prefer the solution to not be overly complex.
In short, I’m looking for inspiration and ideas. Thanks!