Assessing Popular Business Solutions for 3D Mobile Apps

Some thoughts on the tech stacks I’ve seen for 3D products, and how I might advise my own clients.

2025 was one of my most fun years to date when it came to building mobile and 3D apps for clients. The ground might be shifting like crazy under us in the tech world, but it's also allowing people to come up with some cool product ideas, and as time goes by an increasing amount of them have been incorporating 3D tech.

In the last 12 months, I've done short term 3D contracts for clients from Meta to orthodontic offices - and the requested tech stacks have varied wildly. Here are some of my takeaways from the current landscape for building 3D mobile apps.

But first, a quick level-set:

Its good to understand why you might choose one software stack over another.

A client building a 3D-heavy mobile app usually has 4 general concerns:

  1. Time - How long will it take us to build this app?
  2. Money - How much will it cost us to hire the appropriate dev team?
  3. Platform - Are we just targeting iOS? Just Android? Or both? What about tablets like iPad? Who might be using this app, and where would they need to use it?
  4. Optimization - Does this app require intense 3D graphics, or is the 3D aspect just a visual flair to the rest of the UI?

Having solid answers to these 4 questions is crucial to delivering the right mobile app for your client.

So with that said, let's review some of the mobile stacks I've seen and used for clients so far.

0. (Warmup Round) - No mobile app at all. Just a website with 3D on it.

I’m starting the list off with a curveball, but this is one that I think will help frame my point-of-view for the rest of this article.

Earlier in 2025, I read this great article by P. Martin Ortiz titled Your App Should Have Been A Website (And Probably Your Game Too). Since I had already been doing barebones 3D websites with Three.js and HTML5, I got a good laugh out of the title and emphatically agreed with the article's contents.

Ortiz makes some strong points about the current native mobile app landscape in the midst of the "app-for-everything" era, but the main point is one I think many product owners and designers should incorporate into their decision making:

Can you just make it a website with 3D? Then do that.

With tools like Three.js, Babylon.js, and the general invention of vibe-coding, it’s pretty quick and easy to get a prototyped website up that has a simple 3D experience (and, as an aside, I think this is partly why there has been such a boom in 3D graphics as a part of the 2025 product and graphic design space).

To accomplish your product goals, do you really, really need a native-level mobile app hosted on the App Store and the Play Store? Or can most of your users accomplish what they need to in a mobile browser like Firefox, Chrome, or Safari? Three.js and WebGL are pretty reliable on all of these mobile browsers today.

Elevator Pitch: You no longer need robust 3D engines to get interactive graphics on the web, and everyone who has a smartphone can access a browser-based web page with 3D graphics on it. You can even access the phone's camera and use XR with libraries like Three.js.

Elevator Diss: A website means you won't have access to things like push notifications or assistance from the App Store. You would also have to host your own 3D files on a database somewhere and send them over the web, which will cost you money as well as time-to-load.

1. React Native + React Three Fiber (R3F)

React Native is one of the most popular - if not THE most popular - tech solution for cross-platform mobile apps. It uses the same programming paradigm as Meta’s famed web library React.js and allows developers to both code and style full smartphone interfaces using JSX and JavaScript. However, even just a few years prior to me writing this article, there were virtually no good solutions to incorporating Three.js into a React.js project.

Enter the open-source developer collective Poimandres.

Stylized as pmndrs, they have given us several lauded and industry-approved React Native libraries like Zustand for state management, React Spring for quick and seamless mobile animations, and the star of this article, React Three Fiber (referred to as R3F for short).

But the introduction of React Native is where I start to have two unique - if slightly opposing - opinions:

  1. React Native is an incredible invention. A ton of majorly successful apps use it, even small fry hobby projects like Instagram (underground indie app you’ve probably never heard of).
  2. React Native doesn't always play nice with WebGL, which Three.js relies on.

To oversimplify it, Three.js is a bridge for WebGL, a programming language meant to wield graphic shaders for the web. React Native is like an app shell that runs JSX in a native UI view. When you start introducing non-web, OS-related architecture to it, it can get kinda loopy.

Elevator Pitch: React Native lets you build a cross-platform mobile app using one of the world’s most popular and industry-tested software frameworks, React. React Three Fiber has earned a lot of support with tutorials cropping up monthly. Also, it’s super fun to create a Three.js scene using the React component paradigm.

Elevator Diss: If you need to edit audio or video streams - say, for a music or video app - React Native gets messy and requires you to write custom bridges in both Swift and Kotlin for iOS and Android devices. Additionally, iOS development with React Three Fiber is an absolute pain on the iPhone simulator, often failing to render graphics completely or be unusably slow without testing the software on your actual iOS device.

2. Unity

I never even considered Unity as a mobile option until a fateful conversation with one of my favorite colleagues at Spotify a year or two ago.

If you've heard of Unity, you've probably heard of it as being a popular “engine” for making video games. Some of the most successful mobile games in the world use it - like Pokemon Go, Call of Duty: Mobile, and Genshin Impact. But would you use it to make, say, a mobile CAD app?

These days, I actually might.

While Unity does add some considerable bloat to your app's final package size, there are an insane amount of tutorials and resources for optimizing your app's performance, and Unity already does object instancing and material batching right out of the box for you.

Also, Unity's new UI Input System comes with a native package called EnhancedTouchSupport that I've been having a blast experimenting with (there's literally a C# class for the concept of a human Finger so that you can grab data for multiple fingers on a touchscreen at one time).

If anything, Unity is an amazing tool for doing quick, user intuitive prototypes that you can get on your phone immediately.

Elevator Pitch: Unity is a widely understood and heavily used game engine that has full support for mobile 3D and mobile AR apps. There are endless resources for learning it, and even a Unity Asset store if you don’t have someone doing your 3D models for you and just want to buy them.

Elevator Diss: If you’re targeting mobile for 3D, you can’t use Unity to its fullest, have to limit your lighting, and are pretty much locked to Unity’s Universal Render Pipeline. Additionally, Unity has garnered criticism in the last few years for their pricing and licensing model; you can build an app for free, but shipping is another story.

3. SwiftUI + RealityKit

I’ve had the opportunity to write a few fully native iOS apps for clients using Swift - Apple’s proprietary programming language. And let me just say, Swift is beautiful and I love it. It has replaced Apple’s once dominant Objective-C language, and Apple now recommends you use it for all mobile 3D instead of their previous library, SceneKit.

I put this combination last for two reasons:

  1. It's the stack on the list I have used the least for clients, and
  2. While the apps you build with it are impressively fast and crazy lightweight, it’s also annoyingly niche and locked to iOS.

Apple has made massive strides in recent years to improve their development process and tools for 3D developers, which in my opinion probably stems from their commitment to AR and mixed reality tech. For nearly a decade now, Apple CEO Tim Cook has been very public about how much he's betting on the future of AR, and the caliber of tools they've been releasing for us 3D and spatial devs has been getting super exciting.

That said, despite its power I don't think this will be the tool you reach for immediately in most client scenarios.

Elevator Pitch: RealityKit and SwiftUI are fast and lightweight, and look great on all iOS devices. Additionally, the same stack can be used across iPhone, iPad and Apple’s Vision headset.

Elevator Diss: When building for RealityKit, documentation is infamously lacking, and your app will be locked to Apple devices. As of 2026, hand recognition and face tracking doesn’t work with the front-facing camera on iOS and iPad - but does work with the Vision headset.

The Conclusion:

You're gonna hear this a lot when it comes to choosing tech stacks but... it depends.

Before you even get to the list of 3D tech stacks, you should ask yourself these questions:

  1. Does our product's target demographic have a prefferred way to use the app? (Tablet? Computer screen? Headset?)
  2. Are we cross-platform (iOS AND Android)? Or are we just targeting iOS?
  3. Is it mostly a mobile UI with some 3D features in it? Or is it very graphically intensive?
  4. What's our timeline like? And do we have lots of money?!

There's a lot to talk about in this space, so let's talk. If you're a 3D artist, a spatial dev, a product owner, or an opinionated person and you disagree with me or think I left something out, hit me up!

Your 3D pal,
- Davey ✌️