visionOS App and Mobile Companion (Design Both Right)
The spatial side is new craft; the companion is familiar iOS work where VP0 helps most.
TL;DR
visionOS replaces the flat screen with windows, volumes, and immersive spaces navigated by eyes and hands. Design the spatial experience to visionOS conventions (comfortable size and distance, large targets, meaningful depth), and build the iPhone companion from a free VP0 design as a normal iOS app, kept in sync through a shared backend.
Building for visionOS (Apple Vision Pro) is a spatial-computing problem: windows, volumes, and immersive spaces instead of a flat screen, with eyes-and-hands input instead of touch. Many visionOS apps also have an iPhone companion for setup, capture, or quick actions. The short answer is, design the spatial experience to visionOS conventions (depth, glanceable windows, comfortable input) and build the iPhone companion from a free VP0 design as a normal iOS app, keeping the two in sync. The spatial side is new craft; the companion is familiar iOS work where VP0 helps most.
What is different about visionOS
visionOS replaces the flat canvas with space: your app can be a floating window, a 3D volume, or a fully immersive space, and users navigate by looking and pinching rather than touching. Apple’s visionOS design guidance stresses comfort (content at a natural distance and size), depth used meaningfully, and glanceable layouts, because eye-and-hand input rewards large, well-spaced targets. The companion iPhone app, by contrast, is ordinary iOS: it handles account setup, content capture, or quick controls that are awkward in the headset. Keeping engagement across both supports retention (around 25% day one).
How to build the experience and its companion
VP0 is a free iOS design library for AI builders, and it is the natural fit for the companion app. Build the iPhone companion from VP0 designs in SwiftUI or React Native, the screens for sign-in, setup, library, and quick controls, as a normal iOS app. For the visionOS side, design to spatial conventions in SwiftUI for visionOS: comfortable window sizes, large focusable targets for eye-and-hand input, and depth used to organize, not decorate. Keep the two in sync through a shared backend so an action on the phone reflects in the headset. Do not try to cram a flat phone layout into space, or a spatial layout onto the phone. For another platform-companion pattern, see Apple Watch app UI kit Figma 2026.
visionOS plus companion building blocks
Here is the split.
| Part | What to get right |
|---|---|
| Spatial windows | Comfortable size and distance |
| Input | Large targets for eye-and-hand |
| Depth | Organizes, not decorates |
| iPhone companion | Setup, capture, quick controls |
| Sync | Shared backend across both |
A worked example
Say you build a visionOS media app. In the headset, content lives in comfortable floating windows with large, well-spaced controls suited to eye-and-hand input, and depth separates the library from the now-playing view. On the phone, a companion app (built from VP0 designs) handles sign-in, browsing, and casting a title to the headset, plain iOS screens. A shared backend keeps both in sync. You design each surface to its platform rather than forcing one layout onto the other. For the broader build, see how to build an iOS app with AI; for a lightweight cross-platform path, Tauri mobile rust iOS UI kit.
Common mistakes
The most common mistake is treating visionOS like a big iPhone, cramming a flat layout into space with tiny targets. The second is overusing depth and immersion as decoration, causing discomfort. The third is ignoring eye-and-hand ergonomics (targets too small or too close). The fourth is building the companion app as an afterthought instead of a clean iOS app. The fifth is no sync, so the phone and headset feel like separate products.
Key takeaways
- visionOS is spatial computing: windows, volumes, and immersive spaces with eyes-and-hands input, not touch.
- Design to spatial conventions (comfortable size and distance, large targets, meaningful depth).
- The iPhone companion is normal iOS work, build it from a free VP0 design.
- Keep the headset and companion in sync through a shared backend, and design each to its own platform.
Frequently asked questions
How do I design a visionOS app and its mobile companion? Design the spatial experience to visionOS conventions (comfortable floating windows, large targets for eye-and-hand input, meaningful depth) in SwiftUI for visionOS, and build the iPhone companion from a free VP0 design as a normal iOS app, kept in sync via a shared backend.
What makes visionOS design different? It is spatial: content can be windows, volumes, or immersive spaces, and input is eyes and hands, not touch. That rewards large, comfortably spaced targets and depth used to organize, not decorate.
Where does VP0 help with a visionOS project? With the iPhone companion app, which is ordinary iOS work (setup, browsing, quick controls). Build those screens from VP0 designs, and design the spatial side separately to visionOS conventions.
Can I reuse my phone layout in the headset? No. A flat phone layout in space has tiny, uncomfortable targets. Design the spatial experience for visionOS and keep the phone companion as its own iOS app, synced through a shared backend.
Frequently asked questions
How do I design a visionOS app and its mobile companion?
Design the spatial experience to visionOS conventions (comfortable floating windows, large targets for eye-and-hand input, meaningful depth) in SwiftUI for visionOS, and build the iPhone companion from a free VP0 design as a normal iOS app, kept in sync via a shared backend.
What makes visionOS design different?
It is spatial: content can be windows, volumes, or immersive spaces, and input is eyes and hands, not touch. That rewards large, comfortably spaced targets and depth used to organize, not decorate.
Where does VP0 help with a visionOS project?
With the iPhone companion app, which is ordinary iOS work (setup, browsing, quick controls). Build those screens from VP0 designs, and design the spatial side separately to visionOS conventions.
Can I reuse my phone layout in the headset?
No. A flat phone layout in space has tiny, uncomfortable targets. Design the spatial experience for visionOS and keep the phone companion as its own iOS app, synced through a shared backend.
Part of the AI App Builders & Vibe Coding Tools hub. Browse all VP0 topics →
Keep reading
iPadOS Split View App Template in SwiftUI (Free)
An iPad app shouldn't be a stretched iPhone layout. Use SwiftUI NavigationSplitView for a sidebar-list-detail layout, with each column built from a free VP0 screen.
How to Build an iOS App With AI: A 2026 Guide
Start from a real iOS design, drive an AI builder like Claude Code, and ship to the App Store in days. The full workflow, tool by tool.
Framer for iOS Apps: Where It Fits and Where It Stops
Framer is brilliant for design and prototypes, but it is web-first. See where Framer fits in an iOS workflow, and how to get from a Framer concept to a real app.
Kotlin Multiplatform on iOS: Share Logic, Keep Native UI
KMP shares business logic, not UI. Build truly native SwiftUI navigation from a free VP0 design over your shared Kotlin code, so iOS feels like iOS.
React Native WebView Wrapper: Do It Without Getting Rejected
Wrapping a web app in React Native is tempting but risky. Build a WebView shell from a free VP0 design with native chrome and real native value.
Capacitor Custom Native Header UI on iOS (Free Guide)
A Capacitor app's web origin shows in the header. Make it native: respect the safe area, use iOS nav-bar conventions, and reference a free VP0 iOS design.