Interactive Tool Framework: Interaction with gizmos is offset?

Edit: figured out how to select the gizmo. The problem I am having is accuracy. You can see the red line from my ray in the video as its going where it’s suppose to but the gizmos seem to be selecting incorrectly

FInputDeviceState InputState = CurrentMouseState;
InputState.InputDevice = EInputDevices::Mouse;
FModifierKeysState ModifierState = FSlateApplication::Get().GetModifierKeys();

UGameViewportClient* ViewportClient = GetWorld()->GetGameViewport();

// update modifier keys
InputState.SetModifierKeyStates(
	ModifierState.IsLeftShiftDown(),
	ModifierState.IsAltDown(),
	ModifierState.IsControlDown(),
	ModifierState.IsCommandDown());

if (ViewportClient)
{
	FSceneViewport* Viewport = ViewportClient->GetGameViewport();
	APlayerController* PC = UGameplayStatics::GetPlayerController(GetWorld(), 0);

	ContextQueriesAPI->UpdateActiveViewport(Viewport);
	
	FVector WorldLocation, WorldDirection;
	FVector2D ViewportMousePos;
	
	PC->DeprojectMousePositionToWorld(WorldLocation, WorldDirection);
	PC->GetMousePosition(ViewportMousePos.X, ViewportMousePos.Y);
	
	InputState.Mouse.Position2D = ViewportMousePos;
	InputState.Mouse.Delta2D = CurrentMouseState.Mouse.Position2D - PrevMousePosition;
	PrevMousePosition = InputState.Mouse.Position2D;
	InputState.Mouse.WorldRay = FRay(WorldLocation, WorldDirection);
	FVector Start = WorldLocation + WorldDirection * 25.0f;
	FVector End = Start + WorldDirection * 800.0f;
	DrawDebugLine(GetWorld(), Start, End, FColor::Red, false, -1.0f, 0, 0.2f);

	if (bInCameraControl)
	{
		ensure(bPendingMouseStateChange == false);
		ensure(ToolsContext->InputRouter->HasActiveMouseCapture() == false);
		ToolsContext->InputRouter->PostHoverInputEvent(InputState);
	}
	else if (bPendingMouseStateChange || ToolsContext->InputRouter->HasActiveMouseCapture())
	{
		ToolsContext->InputRouter->PostInputEvent(InputState);
	}
	else
	{
		ToolsContext->InputRouter->PostHoverInputEvent(InputState);
	}

	// clear down or up flags now that we have sent event
	if (bPendingMouseStateChange)
	{
		if (CurrentMouseState.Mouse.Left.bDown)
		{
			UE_LOG(LogTemp, Warning, TEXT("MOUSE DOWN"));
			CurrentMouseState.Mouse.Left.SetStates(false, true, false);
		}
		else
		{
			CurrentMouseState.Mouse.Left.SetStates(false, false, false);
		}
		bPendingMouseStateChange = false;
	}


	// tick things
	ToolsContext->ToolManager->Tick(DeltaSeconds);
	ToolsContext->GizmoManager->Tick(DeltaSeconds);
}