Handles.Slider
static function Slider(position: Vector3, direction: Vector3): Vector3;
static Vector3 Slider(Vector3 position, Vector3 direction);
static def Slider(position as Vector3, direction as Vector3) as Vector3
static function Slider(position: Vector3, direction: Vector3, size: float, drawFunc: DrawCapFunction, snap: float): Vector3;
static Vector3 Slider(Vector3 position, Vector3 direction, float size, DrawCapFunction drawFunc, float snap);
static def Slider(position as Vector3, direction as Vector3, size as float, drawFunc as DrawCapFunction, snap as float) as Vector3
Parameters

position The position of the current point.
direction The direction of the sliding.
size 3D size 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 The snap value (see Handles.SnapValue).

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

Make a 3D slider.

This will draw a 3D-draggable handle on the screen. The handle is constrained to sliding along a direction vector in 3D space.


Slider handle in the Scene View.
	// Simple script that creates a Magenta Slide Handle that 
	// points to (0,0,0) nomatter where the target GameObject is located.
	
	@CustomEditor (Slide)
	class SliderHandleJS extends Editor {
		function OnSceneGUI () {
			Handles.color = Color.magenta;
	        target.vectorPoint = Handles.Slider (target.transform.position, 
	      						Vector3.zero - target.transform.position);
	        if (GUI.changed)
	            EditorUtility.SetDirty (target);
	    }
	}
And the script attached to this Handle:
	// Usage: Place this script on the Game Object you want to use the
	// editor-created slide handle.
	
	@script ExecuteInEditMode()
	
	var vectorPoint : Vector3 = Vector3(0,0,0);
	
	function Update() {
		Debug.Log("Looking at: " + vectorPoint);
	}