I found a problem with the custom movement projectile for the rocket projectile in the course. When you overlap the projectile, it does not hit the owner which is great, but it also it stops the projectile completely. When you move out of the way, the Projectile moves again. To illustrate I made a video with the projectile speed slowed to 200. I found a really simple fix - that I posted yesterday but thought I'd copy to this forum for easy access. The fix is to call IgnoreActorWhenMoving on your projectile collision box. With this fix, the custom movement component is no longer necessary which simplifies the code and fixes the bug. Enjoy!
void AProjectile::BeginPlay()
{
Super::BeginPlay();
// ...
// Server is in charge of damage, so do hit detection there
if (HasAuthority())
{
CollisionBox->OnComponentHit.AddDynamic(this, &AProjectile::OnHit);
CollisionBox->IgnoreActorWhenMoving(Owner, true);
}
}