Blueprint/C++ Advanced Templates , Tools & Plugins

Whoever figured out the forward movement component in relation to the camera is a genius, kudos. Even Nintendo had issues with that problem. Yup,

this bit :

const FVector CameraForward = Camera->GetForwardVector();
const float Dot = FVector::dotProduct(UpDirection, CameraForward);

if (FMath::Abs(Dot) < 1 - SMALL_NUMBER)
{
	CurrentForwardDirection = FVector::VectorPlaneProject(CameraForward, GetActorUpVector());
}