Started caching part bounding boxes directly on each part.Used hardware intrinsics ( SIMD) to speed up the most common tests, e.g.New top-down broadphase traversal algorithm.Add ray-OBB test for parts to reduce how many times we fall through to more expensive narrowphase.More optimal broadphase → midphase → narrowphase test ordering.We did a deep dive into the raycast systems and decided to go with a partial rewrite: Time invested in making these faster massively benefits the platform with improvements such as more performant avatars, cameras, etc. Developers use them for collisions, bullets, tracers, suspensions, lasers, and other things that need a high degree of customization. Roblox uses them internally for Humanoid motion, BillboardGuis, Poppercam, ProximityPrompts, draggers, and other uses that need simple physical queries. Raycasts are the foundation for large chunks of our technical stack. We’ll be sharing the progress with you here along with some fun technical details.Īlso, the max distance of raycasts has been raised from 5,000 → 15,000 studs! Why Improve Raycasts? We recently made some big internal upgrades to improve the performance of raycasts (ie WorldRoot:Raycast).