Found a solution to my problem.
FTransform spawnTrans = FTransform(flinchDir.Rotation(), GetActorLocation());
APickup* pickup = GetWorld()->SpawnActorDeferred<APickup>(SpawnItem, spawnTrans);
pickup->ID = DropItem.ID;
pickup->WasSpawned = true;
pickup->FinishSpawning(spawnTrans);
Lets you initialize variables on an actor before actually spawning it. This way you can set certain variables, before it runs it’s BeginPlay.