The chasing mechanic is as simple as you can imagine. A constant loop consisting of pathfinding and MoveTo calls.
Whenever the NPC gets to about 11 studs behind the player, it doesn’t really advance any more. Instead, it keeps it’s distance of 11 studs (occasionally it will seemingly collide with the player’s character, and slightly bounce back. Although on the client side, the NPC is ~11 studs away). Keep in mind, this happens when I’m actively running away from the NPC. If I stop moving, it does catch up.
The whole chasing mechanic is entirely server sided.
There is a post that resembles what I’m experiencing: NPC cannot catch up to player (I did not find the answers very useful though…)
I’m still not exactly sure why it didn’t work before, but I have a partial solution. Before, the NPC was constantly using pathfinding. Even when it didn’t necessarily have to. So, instead, I made it so that the NPC goes straight to the player if there’s nothing inbetween them.