Both the player and the enemy have character controllers, and the player is moving using the CharacterController.Move
method. If i disable the character controller from the enemy, everything is fine but as soon as i enable it, when the player gets close to the enemy they zoom past them as if they got infinite move speed for a few frames.
Any fixes?
Video in the reddit link:
https://www.reddit.com/r/Unity3D/comments/17qk2wz/i_have_this_weird_push_bug_that_occurs_when_two/
The player is moving using a state in a state machine where this is called:
private void HandleMove()
{
cameraRelativeMovement = _ctx.ConvertToCameraSpace(_ctx.CurrentMovement);
var movementSpeed = (_ctx.IsCrouching) ? _ctx.CrouchedMovementSpeed : _ctx.MovementSpeed;
_ctx.CharacterController.Move(cameraRelativeMovement * movementSpeed * Time.deltaTime);
}
ConvertToCameraSpace just converts the input from horizontal and vertical to match the isometric style, and then i just use CharacterController.Move, and same thing with the enemies and NPCs.
This HandleMove is called in the Update of the PlayerMoveState