How would I go about creating check points and checking if the player has reached them within UE4 C++

You can create a Actor with an USphereComponent or UBoxComponent, and add a delegate to OnComponentBeginOverlap.
something like:

CollisionComponent->OnComponentBeginOverlap.AddDynamic(this, &AWaypoint::OnBeginOverlap);

the signature should be something like:

void AWaypoint::OnBeginOverlap(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult);

than you can check if OtherActor is the player (casting it or checking tags), if it is, just add the checkpoint to a TArray (to check later if it was reached already or not).

hope it helps!


How would you check it from the TArray?