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.
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?