How to Build a visionOS App: Perpetio’s Experience

As soon as Apple introduced its new mixed reality Vision Pro headset, the Perpetio development team got all curious about this new device and, of course, developing apps for it.

See, we love trying out new technologies as soon as they come out. More importantly, we understand that targeting a new mixed-reality platform from such a giant as Apple will give our clients a huge advantage in the market. As a result – the moment visionOS became available for developers, we started practicing creating apps for this platform so we could offer this new service to our clients ASAP.

In this article, we will present one of our recent VisionOS apps – a VR furniture selection and fitting app. We will discuss the use cases of Vision Pro for business and explain how to build a visionOS app from scratch.

What is visionOS?

0:00
/0:35

visionOS is a newly introduced Apple operating system created for the Vision Pro device. Vision Pro is a mixed-reality headset. Apple presents Vision Pro as the first spatial computer, meaning that it allows interaction with digital objects as if they are present in reality.

In other words, users can integrate various apps and content, like movies or FaceTime calls, as 3D models with the real background of their current space. For example, users can turn their living room into a movie theater – with a three-dimensional video player and 180-degree high-resolution Spacial Audio, Vision Pro gives a feeling of full immersion into the movie or show.

visionOS is packed with functionality that blends the digital world and reality, such as:

  • 3D modeling
  • Gesture recognition
  • Human detection
  • Eye control
  • Resizeable apps and canvas
  • Dynamic response to light and shadows
  • Adjustable immersion levels.

In the same way, it is possible to watch memorable videos, set the background to a calming landscape, and join an online meeting – of all this in 3D with a full-presence feeling. And don’t get us started on the gaming experience you can get with Vision Pro!

Why Companies Should Care about Virtual Reality Apps

0:00
/0:16

“That sounds like a great entertainment device, but how can my business benefit from introducing a visualOS app?” That’s a common question for companies considering conquering this new platform.

Let us tell you one thing – just like virtual reality or augmented reality, mixed reality with Vision Pro is an incredible growth opportunity for businesses looking for a competitive advantage and innovative user experience.

There are several reasons to consider creating a visionOS app for your company today:

  • Being among the first brands to leverage visionOS you will definitely stay ahead of competitors and make your company recognizable. Consider this: many popular iOS apps, like FaceTime and Safari, will have native compatibility on the launch day of Vision Pro. With time, not adapting to visionOS will mean staying behind.
  • A new approach to digital experience means new interaction points with your customers. There is no better time than now to showcase your products, offer a more convenient service, or revolutionize how your users get their routine tasks done.
  • Introducing a mixed reality device in the workplace is an effective method of improving effectiveness with 3D-model tips and smart assistance. Plus, work meetings can feel like in-person with Vision Pro realistic 3D video calls.

Pioneering new digital platforms always offers companies new opportunities for customer growth, better user experience, and taking a bigger chunk of the market.

Top Use Cases of visionOS Apps for Business

0:00
/0:11

While the advantages of being among the first ones conquering visionOS are pretty clear now, what are the exact applications of this new operating system for businesses in particular industries?

Let us share a few use cases.

  • Mixed reality is a klondike for the gaming, streaming, and entertainment industries. There is no better way to introduce new immersive experiences than Vision Pro
  • E-commerce industry players can market their products in innovative ways with 3D model fitting. For example, our visionOS app allows users to fit furniture items in their houses and make an informed decision about the purchase.
  • Soon enough, Vision Pro users will expect their favorite productivity, fitness, communication, and other apps to be available on the new device. A big, immersive screen is convenient for everyday tasks, so don’t disappoint those willing to access your product across devices
  • Vision Pro can turn education upside-down too. Complex scientific concepts come to life in clear 3D models that can be rotated, mind maps will take a new level. Plus, employee training can raise effectiveness and safety with realistic work process simulation.
  • Production companies can implement Vision Pro in their quality assurance, logistics, manufacturing, and workplace training processes. Less mistakes – more effectiveness.

visionOS apps are a powerful addition to many digital product lines, and it won’t be long until they become as essential as mobile apps adaptable for smartphones, tablets, wearables, and other devices.

How to Build a visionOS App Step-by-step

Stepping on the path of visionOS app development is surely exciting – there are many opportunities to explore and new approaches to try out. While visionOS app development, of course, has a certain amount of experimentation, still, with a reliable app development partner, you have nothing to worry about when it comes to quality predictability or business efficiency.

As an example, we will demonstrate how the Perpetio team built a visionOS app for placing furniture in a room. We called our application Vision Room – think of furniture stores allowing their customers to fit certain furniture pieces in the house before making a buying decision. Customer service at its best.

A visionOS app tech stack

Apple Inc. proposes to build visionOS applications by using the same frameworks and technologies that all of us are already using with iOS and macOS apps.

  • Swift: a native programming language for both iOS and macOS apps, and now you can use it with visionOS as well
  • SwiftUI: a framework for building app interfaces. With visionOS, you can use new immersive 3D objects and interact with them with gestures as you do with ARKit
  • VisionOS SDK: a set of different libraries and instruments that we will use to create the application
  • RealityKit SDK: a new 3D API that we use for rendering objects in an immersive world. It's a good replacement for SceneKit and ARKit frameworks. It’s packed with features tailored for Vision Pro apps, including spatial computing and augmented reality support
  • USDZ: a file format that we will be using for 3D models

Our tech stack is a combination of familiar iOS technologies and those introduced specifically for visionOS.

You can also view this project on our Github.

Required devices and apps

Building an app also requires a certain hardware and software set. Here’s what we need for visionOS app development:

  • Mac computer with macOS Ventura or later. We recommend using a Mac computer with an Apple Silicon graphics processor as it renders objects and graphics space faster.
  • Apple Vision Pro (or Xcode 15.0 Vision Pro simulator).
  • Xcode 15 or later

This minimalistic setup will allow us to build a full-fledged mixed-reality application.

Project Overview

The Vision Room project is built for placing objects and interacting with them in your apartment.

Project Structure

Our project consists of Models, Services, Views, and 3D Objects. We use SwiftUI and Combine for building UI and communicating between components. We are also using Swinject for dependency management.

We’re using a mixed immersive style to give the user the ability to place the objects and select/remove any of the furniture pieces at the same time.

Furniture Library

We’ve injected several furniture items, including their 3D models and short information, into the application and to show them on the Library screen via FurnitureService. The user can navigate through categories on the left menu (types of furniture), and the app automatically updates the content view with the list of furniture based on the selected category.

After selecting a specific furniture item, the app starts loading the USDZ model content to the memory to allow the user to manipulate it.

Furniture placement and interaction

To show the model in the immersive world, we need to add it to the RealityViewContent. Inside this RealityView, we can drag/rotate and perform other operations with the 3D Model.

Let’s try to place a kitchen table and chairs in the room. First, we need to select the Table category in the Library and then simply tap on the piece of furniture you want to place.

The app will automatically change the size of your content view to show more visible space for manipulations with objects.

To move the object inside your room, you need to tap and hold onto the table and walk in the direction where you want to place it. When you are ready, please take your finger off, and the object will be placed at these coordinates.

By using the pinch operation, you can rotate the table as you wish, like in the animated image below.

We can also place multiple objects in the room at the same time; it's very useful when making a remodeling in your room or apartment. On the Visible Furniture screen, the app allows you to delete the furniture or change its position; it's a space where you can manipulate it with already added furniture.

Bringing your existing iOS apps to visionOS

0:00
/0:11

The cool news for us is the support of Vision Pro devices for the existing iOS application. Apps that are specifically built for visionOS will look more natural, but anyway, it's a good opportunity to increase the app’s audience and experience.

The first thing you need to do is to add Apple Vision to the Supported Destinations in your Xcode project and try to build it. If there are no issues, with which I congratulate you, you can try your app in the Vision Pro simulator. If you have any issues, you need to briefly look into your libraries (maybe some of them are not supported by visionOS), isolate features that are unavailable by using if os(visionOS) verifications, etc.

Alternatively, you can team up with an experienced development team that has already created visionOS apps and trust them with your entrance to the new platform. As a result, you will save effort, time, and budget on experiments that don’t always end well. Perpetio is your best bet: we are a mobile app development company with years of experience and dozens of projects. And, evidently, we already have built visionOS apps.

Contact us today to get a free quote for your project.

Consider Perpetio Your Trusted Partner

As soon as the Vision Pro headset hits the market, new platform users will be exploring ways of interacting with this device. And your app can be among the first impressions they will get. Right now, there are no well-established practices for visionOS user experience, so your company can be the one revolutionizing the industry.

Show how to work out at home with the gym atmosphere, join online lessons that are more immersive than in-person ones, or provide a shopping experience that will make users forget about shopping malls.

We will help with that – Perpetio is as excited to explore new possibilities of visionOS as you are! Let’s work together.