//Raycast Function
const FHitResult UGrabber::GetFirstPhysicsBodyInReach()
{
//Create position and rotation variables
FVector PlayerViewPointLocation;
FRotator PlayerViewPointRotation;
//Set position and rotation variables
  GetWorld()->GetFirstPlayerController()->GetPlayerViewPoint(
OUT PlayerViewPointLocation,
OUT PlayerViewPointRotation);
//Set raycasting distance
FVector LineTraceEnd = PlayerViewPointLocation + PlayerViewPointRotation.Vector() * Reach;

//Setup query parameters
FCollisionQueryParams TraceParameters(FName(TEXT("")), false, GetOwner());

///Line Trace
FHitResult Hit;
  GetWorld()->LineTraceSingleByObjectType(OUT Hit, PlayerViewPointLocation,
  LineTraceEnd, FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody),
  TraceParameters);

//System report
AActor* ActorHit = Hit.GetActor();
if (ActorHit) {
   UE_LOG(LogTemp, Warning, TEXT("Hitting: %s"), *(ActorHit->GetName()));
  }

return Hit;
}