Version: 2023.2
LanguageEnglish
  • C#

HandleUtility

class in UnityEditor

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

Submission failed

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

Close

Cancel

Description

Helper functions for Scene View style 3D GUI.

These are mainly mathematical functions that assist in converting between the 3D Scene space and the 2D GUI. The functions are used in the construction of the Unity Editor itself and so using them is a good way to make your own Handles GUIs consistent with Unity's.

Static Properties

accelerationGet standard acceleration for dragging values (Read Only).
nearestControlThe controlID of the nearest Handle to the mouse cursor.
niceMouseDeltaGet nice mouse delta to use for dragging a float value (Read Only).
niceMouseDeltaZoomGet nice mouse delta to use for zooming (Read Only).

Static Methods

AddControlRecord a distance measurement from a handle.
AddDefaultControlAdd the ID for a default control. This will be picked if nothing else is.
CalcLineTranslationMap a mouse drag onto a movement along a line in 3D space.
ClosestPointToArcGet the point on an arc (in 3D space) which is closest to the current mouse position.
ClosestPointToDiscGet the point on an disc (in 3D space) which is closest to the current mouse position.
ClosestPointToPolyLineGet the point on a polyline (in 3D space) which is closest to the current mouse position.
DecodeSelectionIdTranslates a Vector4 selectionId value retrieved from GPU into a single integer picking index.
DistancePointBezierCalculate distance between a point and a Bezier curve.
DistancePointLineCalculate distance between a point and a line.
DistancePointToLineDistance from a point p in 2d to a line defined by two points a and b.
DistancePointToLineSegmentDistance from a point p in 2d to a line segment defined by two points a and b.
DistanceToArcReturns the distance in pixels from the mouse pointer to a 3D section of a disc.
DistanceToCircleReturns the distance in pixels from the mouse pointer to a camera facing circle.
DistanceToConeReturns the distance in pixels from the mouse pointer to a cone.
DistanceToCubeReturns the distance in pixels from the mouse pointer to a cube.
DistanceToDiscReturns the distance in pixels from the mouse pointer to a 3D disc.
DistanceToLineReturns the distance in pixels from the mouse pointer to a line.
DistanceToPolyLineReturns the distance in pixels from the mouse pointer to a polyline.
DistanceToRectangleReturns the distance in pixels from the mouse pointer to a rectangle on screen.
EncodeSelectionIdTranslates a single integer picking index into a Vector4 selectionId value. The Vector4 selectionId is used to render the picking render textures during picking rendering.
FindNearestVertexReturns the nearest vertex to a guiPoint within a maximum radius of 50 pixels.
GetHandleSizeGet world space size of a manipulator handle at given position.
GetOverlappingObjectsGets an ordered list of objects that would be picked under the give mouse position.
GetPickingIncludeExcludeListGets the picking PickingIncludeExcludeList for the currently executing BatchRendererGroup.OnPerformCulling callback.
GetSelectionOutlineIncludeExcludeListGets the selection outline PickingIncludeExcludeList for the currently executing BatchRendererGroup.OnPerformCulling callback.
GUIPointToScreenPixelCoordinateConverts a 2D GUI position to screen pixel coordinates.
GUIPointToWorldRayConvert 2D GUI position to a world space ray.
PickGameObjectPick game object closest to specified position.
PickRectObjectsPick GameObjects that lie within a specified screen rectangle.
PlaceObjectCasts a ray against the loaded scenes and returns the nearest intersected point on a collider.
PointOnLineParameterReturns the parameter for the projection of the point on the given line.
PopCameraRetrieve all camera settings.
ProjectPointLineProject point onto a line.
PushCameraStore all camera settings.
RaySnapCasts ray against the Scene and reports whether an object lies in its path.
RegisterRenderPickingCallbackRegisters a callback to invoke when Unity renders for picking.
RepaintRepaint the current view.
UnregisterRenderPickingCallbackUnregisters the callback that was previously registered for custom picking rendering.The method throws InvalidOperationException if you try to call it inside render picking callbacks.
WorldPointToSizedRectCalculate a rectangle to display a 2D GUI element near a projected point in 3D space.
WorldToGUIPointConvert a world space point to a 2D GUI position.
WorldToGUIPointWithDepthConvert a world space point to a 2D GUI position.

Events

getAuthoringObjectForEntityThe user-defined callback that Unity uses to retrieve the Unity Object associated with a DOTS Entity.
getEntitiesForAuthoringObjectThe user-defined callback that Unity uses to retrieve the DOTS Entity IDs associated with a Unity Object.
pickGameObjectCustomPassesSubscribe to this event to add additional picking objects to the HandleUtility.PickGameObject method.
placeObjectCustomPassesSubscribe to this event to handle object placement in the SceneView.

Delegates

PickGameObjectCallbackThis is the method definition for pickGameObjectCustomPasses.
PlaceObjectDelegateThis is the method definition for placeObjectCustomPasses.
RenderPickingCallbackThe delegate type to use with RegisterRenderPickingCallback and UnregisterRenderPickingCallback.
ResolvePickingCallbackThe delegate type to return from RenderPickingCallback through the RenderPickingResult.resolver member.
ResolvePickingWithWorldPositionCallbackThe delegate type to return from RenderPickingCallback through the RenderPickingResult.resolverWithWorldPos member, with the additional world space position and depth information of where the click occurred.