Raycast not detecting any collisions

Godot Version

Godot 4.6

Question

I’m trying to create a raycast to see when my player is looking at something but it never seems to detect any collisions

  private float interactDistance = 10.0f;

    private void InteractCast()
    {
        Camera3D camera = GetNode<Camera3D>("CameraPivot/CameraArm/Camera3D");
        PhysicsDirectSpaceState3D spaceState = camera.GetWorld3D().DirectSpaceState;
        Vector2 screenCenter = GetViewport().GetVisibleRect().Size / 2;
        Vector3 origin = camera.ProjectRayOrigin(screenCenter);
        Vector3 end = origin + camera.ProjectLocalRayNormal(screenCenter) * interactDistance;
        PhysicsRayQueryParameters3D query = PhysicsRayQueryParameters3D.Create(origin, end);
        query.CollideWithBodies = true;
        query.CollideWithAreas = true;
        var result = spaceState.IntersectRay(query);
        if (result.ContainsKey("collider"))
        {
            var currentCastResult = result["collider"];
            GD.Print(currentCastResult);
        }
    }

Check the collision layer of both raycast and colliding object.
: )
Edit: i dont speeak C#