Transform ExtensionsSetLayerRecursively(this Transform, string layer)Resolve a layer by name and apply it to this Transform and all descendants (warns if name not found).SetLayerRecursively(this Transform, int layer)Apply a layer index directly to this Transform and all its children.Vector2 ExtensionsAddAngle(this Vector2, float angleDeg)Rotate the vector by a number of degrees while preserving magnitude.ToDegrees(this Vector2)Convert a 2D direction vector to a 0–360° heading (screen-friendly axis convention).Approximately(this Vector2, Vector2 other)Component-wise Mathf.Approximately for Vector2.Vector3 ExtensionsClampMagnitudeBetween(this Vector3, float min, float max)Clamp to max; if below min, rescale up to exactly min (direction preserved).Approximately(this Vector3, Vector3 other)Component-wise Mathf.Approximately for Vector3.IsPointInsidePolygon(this List<Vector3> polygon, Vector2 p, bool useXZ = true)Ray-casting point-in-polygon; treats points on edges as inside. Works in XZ (default) or XY planes.MonoBehaviour ExtensionsStartTimer(this MonoBehaviour, float duration, ProgressTracker progressTracker = null, Action onTimeout = null)Starts a coroutine timer for duration seconds, optionally updating a ProgressTracker and invoking a callback on completion.