How do i create a BP function to find the intersection point of a ray and a plane?

Inputs: RayOrigin, RayDestination, PlaneOrigin, PlaneNormal - Returns True/False and a Vector (Point in the Plane) - Inputs via BP
Returns: True or False if not in plane. A output intersection point (Vector)

Use:
For a click to walk in direction camera controller style (Diablo like)

In the input above, what i will do is:
RayOrigin: Projected Mouse Cursor Screen to World Space
RayDestination: WorldLocation + (WorldDirection * 1000)
PlaneOrigin: Pawn Position
PlaneNormal: Z Vector for a TopDown Game (0,0,1)