// the find
Nition/UnityOctree
A dynamic, loose octree implementation for Unity written in C#
A dynamic, loose octree for spatial partitioning in Unity, with separate implementations for bounds-based objects (BoundsOctree) and point objects (PointOctree). Useful for anyone needing fast collision/proximity queries over large numbers of 3D objects without writing the tree themselves.
The loose octree variant is a real, non-obvious optimization — it reduces objects getting stuck in large parent nodes near boundaries, and the README explains the reasoning instead of just shipping the knob. Splitting bounds vs. point storage into two implementations avoids forcing point-only use cases to pay for AABB overhead. Includes gizmo-based debug visualization (DrawAllBounds, DrawAllObjects, DrawCollisionChecks) which is genuinely useful for tuning looseness and node size against real data instead of guessing.
Explicitly unmaintained since mid-2021 with no Unity version compatibility notes, so behavior on current Unity/URP/DOTS setups is untested and unsupported. Tree traversal is recursive with no iteration cap beyond minNodeSize, and the author admits a naive stack-based rewrite was actually slower, meaning the perf ceiling here is already known and unaddressed. No package.json/UPM manifest — it's raw .cs files plus .meta files, so integration means manually copying scripts into Assets rather than adding a package dependency. No tests, and no benchmarks beyond anecdotal claims in the README, so you're trusting prose over numbers for a structure whose whole value proposition is performance.