TickComponent not firing on custom pawn movementcomponent

I’m making a custom movement component for a pawn, and for some reason, the TickComponent isn’t firing.
I looked through the Components and Collision tutorial, and pretty much copied their approach with no luck. I even tried deleting all my code, replacing it with the code in the tutorial, and it still didn’t work, so I’m assuming something about the tutorial is out of date with more recent engine versions.

Header File

UCLASS()
class TESTGAME_API UGameMovementComponent : public UPawnMovementComponent
{
	GENERATED_BODY()
public:

	UGameMovementComponent(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

	virtual void SetUpdatedComponent(USceneComponent* NewUpdatedComponent) override;
	virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override;
	
}

Portion of Code File

void UGameMovementComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) {
	
	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);

	if (!PawnOwner || !UpdatedComponent || ShouldSkipUpdate(DeltaTime))
	{
		return;
	}
	GEngine->AddOnScreenDebugMessage(1, 5.f, FColor::Red, FString::Printf(TEXT("Some variable values:")));    
	const FVector InputVector = ConsumeInputVector();
}

and its set with in the constructor of the pawn with

	PlayerMovementComponent = CreateDefaultSubobject<UGameMovementComponent>(TEXT("GameMovementComponent"));
	PlayerMovementComponent->UpdatedComponent = CapsuleComponent;

There are a couple of things I noticed. SetUpdatedComponent() is overriden but you use PlayerMovementComponent->UpdatedComponent instead. Is there a reasson for that?

You also got some Conditions that will skip the tick if not fullfilled. Can you check which one fails. If you know what Fails you know what to fix afterwards. if (!PawnOwner || !UpdatedComponent || ShouldSkipUpdate(DeltaTime))

You can also add a log before the Condition to see if Tick gets called at all. If its not called at all make sure you set the bools bCanEverTick & bStartWithTickEnabled to true in the Constructor.

Nothing printed with the log statements before the condition.

Also sorry, I should’ve cleaned up the code a bit more, the updated thing was from tutorials / implementations where I was borrowing possibly relevant code as a wild shot fix.

Here is a Full minimalistic Setup to make it work: Minimum Pawn movement Setup - Pastebin.com

You can look at the output Log inside the Editor to make sure it works (No Screen Message)

I managed to get it working with that code, thanks for the help/effort.
I’m working through the differences, I’ll try to update if I find out what I had wrong.