Handles.Slider2D
static function Slider2D(id: int, handlePos: Vector3, offset: Vector3, handleDir: Vector3, slideDir1: Vector3, slideDir2: Vector3, handleSize: float, drawFunc: DrawCapFunction, snap: Vector2, drawHelper: bool = false): Vector3;
static Vector3 Slider2D(int id, Vector3 handlePos, Vector3 offset, Vector3 handleDir, Vector3 slideDir1, Vector3 slideDir2, float handleSize, DrawCapFunction drawFunc, Vector2 snap, bool drawHelper = false);
static def Slider2D(id as int, handlePos as Vector3, offset as Vector3, handleDir as Vector3, slideDir1 as Vector3, slideDir2 as Vector3, handleSize as float, drawFunc as DrawCapFunction, snap as Vector2, drawHelper as bool = false) as Vector3
static function Slider2D(handlePos: Vector3, handleDir: Vector3, slideDir1: Vector3, slideDir2: Vector3, handleSize: float, drawFunc: DrawCapFunction, snap: Vector2, drawHelper: bool = false): Vector3;
static Vector3 Slider2D(Vector3 handlePos, Vector3 handleDir, Vector3 slideDir1, Vector3 slideDir2, float handleSize, DrawCapFunction drawFunc, Vector2 snap, bool drawHelper = false);
static def Slider2D(handlePos as Vector3, handleDir as Vector3, slideDir1 as Vector3, slideDir2 as Vector3, handleSize as float, drawFunc as DrawCapFunction, snap as Vector2, drawHelper as bool = false) as Vector3
static function Slider2D(id: int, handlePos: Vector3, handleDir: Vector3, slideDir1: Vector3, slideDir2: Vector3, handleSize: float, drawFunc: DrawCapFunction, snap: Vector2, drawHelper: bool = false): Vector3;
static Vector3 Slider2D(int id, Vector3 handlePos, Vector3 handleDir, Vector3 slideDir1, Vector3 slideDir2, float handleSize, DrawCapFunction drawFunc, Vector2 snap, bool drawHelper = false);
static def Slider2D(id as int, handlePos as Vector3, handleDir as Vector3, slideDir1 as Vector3, slideDir2 as Vector3, handleSize as float, drawFunc as DrawCapFunction, snap as Vector2, drawHelper as bool = false) as Vector3
static function Slider2D(handlePos: Vector3, handleDir: Vector3, slideDir1: Vector3, slideDir2: Vector3, handleSize: float, drawFunc: DrawCapFunction, snap: float, drawHelper: bool = false): Vector3;
static Vector3 Slider2D(Vector3 handlePos, Vector3 handleDir, Vector3 slideDir1, Vector3 slideDir2, float handleSize, DrawCapFunction drawFunc, float snap, bool drawHelper = false);
static def Slider2D(handlePos as Vector3, handleDir as Vector3, slideDir1 as Vector3, slideDir2 as Vector3, handleSize as float, drawFunc as DrawCapFunction, snap as float, drawHelper as bool = false) as Vector3
Parameters

id (optional) override the default ControlID for this Slider2D instance.
handlePos The position of the current point.
offset (optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
handleDir The direction of the handle, only used for rendering of the handle.
slideDir1 The first direction of the sliding.
slideDir2 The second direction of the sliding.
handleSize The size of the handle.
drawFunc The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
snap (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
drawHelper (default: false) render a rectangle around the handle when dragging.
Returns
Vector3 The new handle position

Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
Description

Slide a handle in a 2D plane.

This will draw a draggable handle on the screen. The handle is constrained to sliding on a plane.