SetActorLocation Crashing

Yeah, here:

 ATestWeapon* Wp = Cast<ATestWeapon>(Weapon);
 Wp->SetActorLocation(ADSOffset);

But when you spawn Wp, you never assign the spawned actor to the weapon variable:

ATestWeapon* Wp = World->SpawnActor<ATestWeapon>(Weapon, GunOffset, GunRotation);
 Wp->AttachRootComponentTo(FirstPersonCameraComponent);

See how you never do anything along the lines of Weapon = Wp, or something?