ViroReact 2.43.0 - Getting More Robust and Flexible

We’re excited to announce the release of ViroReact 2.43.0, our open-source AR/VR library for React Native. This update focuses on making the library more resilient, flexible, and easier to integrate—especially for teams working with the latest versions of React Native and Expo.

We’ve been listening closely to the community, reviewing bug reports, and digging into edge cases. The result? A set of improvements that tackle long-standing pain points head-on.

Here’s what’s new:

🎯 1. More Flexible React Native & Expo Support

Problem: Our dependency constraints were too tight, making it difficult to integrate ViroReact with newer versions of React Native or Expo.

Solution: We’ve relaxed our version constraints while still maintaining a reliable baseline. Going forward our minimum supported versions of Expo adn React Native will be:

Minimum Expo SDK: 52

Minimum React Native: 0.76.0

This change allows developers more freedom to integrate ViroReact into modern stacks without hitting version mismatch walls.

🧼 2. No More Crashes on Component Unmount (Especially During Navigation)

Problem: Some developers reported crashes on iOS during navigation transitions—specifically when Viro components were unmounted while navigation was still resolving.

Solution: We’ve overhauled the unmounting lifecycle:

✅ Protective checks before accessing node properties

✅ Safe access to parent portal references

✅ Improved teardown sequencing to avoid referencing invalid memory

These changes make navigation transitions far more stable—especially in apps with complex AR scenes.

🛡️ 3. Robust Shadow Node Property Handling

Problem: Unreliable property updates and occasional runtime errors when components were in the process of being torn down.

Solution: Defensive coding to the rescue.

✅ Pre-update checks for null, torn-down, or detached nodes

✅ All property updates wrapped in try-catch blocks

✅ Diagnostic logging added for visibility

✅ Overhauled onTearDown() method on Android

✅ Explicit cleanup of event delegates, listeners, and parent references

✅ Automatic cancellation of anchor attempts

✅ Internal state flag resets to maintain consistency

Together, these enhancements drastically improve ViroReact’s internal stability and error resilience.

💡 What This Means for You

This release is all about developer experience: fewer crashes, more flexibility, better performance. Whether you’re building immersive experiences, prototyping interactive scenes, or shipping production-ready AR apps, this version lays a stronger foundation.

🔄 Upgrade Now

You can upgrade to the latest version via:

npm install @reactvision/viro-react

🙌 Thank You

A big shoutout to everyone in the ReactVision community who submitted issues, reported edge cases, and helped us track down tricky bugs. Your feedback drives these improvements, and we’re just getting started.

Let’s build the future of spatial apps—together!

You can read the full release notes on the ViroReact change log here.

Are you looking for app development experts to drive your project forward?
Morrow are here to help!
Contact us
a photo of the Morrow team sat at a dinner table
More insights