Legacy Documentation: Version 5.0
Language: English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Handles.Slider

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public static function Slider(position: Vector3, direction: Vector3): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction);
public static function Slider(position: Vector3, direction: Vector3, size: float, drawFunc: Handles.DrawCapFunction, snap: float): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction, float size, Handles.DrawCapFunction drawFunc, float snap);

Parameters

positionThe position of the current point.
directionThe direction of the sliding.
size3D size the size of the handle.
drawFuncThe 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.
snapThe 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);
	}