Given the scale of this update, we strongly recommend you check out our full release notes before updating your app over to this new version.
We're excited to share that we've just shipped one of the biggest improvements to ViroReact this year - a full overhaul of AR plane detection and surface understanding across iOS and Android. This update makes AR experiences built with ViroReact feel more stable, more accurate, and more aware of the real environment around the user.
Let's dive in and take a look at what's new.
Real-World Planes, Rendered Accurately
Up until now, ViroReact (like many AR frameworks) often visualised surfaces as simple rectangles. Now, ViroReact uses the actual geometric shape of the detected surface — the real outline returned by ARKit/ARCore.
The result? More precise placement. More realistic boundaries. More confidence for developers and users.
And if a device can’t provide boundary vertices? ViroReact automatically falls back to the classic rectangular shape.
Better Tracking = More Stable AR Experiences
We rebuilt the plane tracking system from scratch.
Instead of juggling planes through array indexes (which can shift and cause jitter), ViroReact now tracks everything through a stable anchor-based Map system. This means:
• fewer visual jumps
• fewer selection errors
• more reliable detection over time
It’s a big quality-of-life improvement for AR developers.
Detect More Surfaces at Once
You can now detect horizontal and vertical surfaces simultaneously using the new “Both” alignment mode.
Put simply: Your AR scene now understands more of the room at the same time.
iOS Surface Classification Now Exposed
On iOS, ViroReact can now tell you what type of surface was detected: • Wall
• Floor
• Table
• Window
• Door
• Seat
This enables smarter AR interactions.
Place virtual objects only on tables, or trigger different behaviour when a wall is detected, the possibilities are wide open.
Visual Improvements That Just Feel Better
We updated the plane visuals with a clearer translucent material and improved rendering on Android. It’s easier to see what’s happening, easier to debug, and easier for users to anchor objects in the right spot.
Given the scale of this update, we strongly recommend you check out our full release notes before updating your app over to this new version.