Develop

Interaction SDK ProximityField

Updated: Apr 12, 2026
Proximity fields calculate the closest world-space 3D point on a geometric shape relative to a given position. They serve a similar purpose to Unity’s Collider.ClosestPoint(), but operate on lightweight geometric definitions instead of physics colliders. This makes them useful for driving interactions like snapping, hover detection, or surface-aware targeting without requiring collider components in your scene.
All proximity field components implement the IProximityField interface and expose a single ComputeClosestPoint() method. The Interaction SDK provides proximity fields for several shape types: boxes, circles, points, and cylinders.

BoxProximityField

Computes the closest point in a box volume, the dimensions of which are determined by the lossy scale of the provided transform.
PropertyDescription
Box Transform
The transform of the proximity field.
If the provided point is within the volume of the box, the unmodified point is returned.

CircleProximityField

Computes the closest world point on a coordinate plane defined by the X and Y axes of the transform, within a provided radius from the transform’s origin.
PropertyDescription
Transform
The transform that defines the center of the circle and plane facing.
Radius
The radius of the circle, scaled by the lossy scale of the transform.
If the provided point is on the plane within the radius of the circle, the unmodified point is returned.

PointProximityField

Computes the closest world point to the provided transform’s origin.
PropertyDescription
Center Point
The transform that defines the origin point.

CylinderProximityField

Computes the closest world point on either a Cylinder or an ICurvedPlane (cylinder segment).
PropertyDescription
Cylinder
The Cylinder used to drive the proximity field.
Rotation
The rotation on the Y-axis, expressed in degrees where 0 degrees aligns with the positive Z-axis of the Cylinder.
Arc Degrees
The total degrees of the proximity field arc, with the center point determined by Rotation.
Bottom
The lower edge relative to the Y-position of the cylinder.
Top
The upper edge relative to the Y-position of the cylinder.
Curved Plane (Optional)
An ICurvedPlane provided here (for example, a CanvasCylinder) will drive this CylinderProximityField and override all of the above properties.