# Build a Tilt-Controlled 3D Portal Experience in SwiftUI - Spline Academy (https://spline.design/academy/tutorials/build-a-tilt-controlled-3d-portal-experience-in-swiftui)

> Learn how to build a 3D portal that reacts as you tilt your device. 📲

1. [Academy](https://spline.design/academy)
2. [Tutorials](https://spline.design/academy/tutorials)
3. Build a Tilt-Controlled 3D Portal Experience in SwiftUI

# Build a Tilt-Controlled 3D Portal Experience in SwiftUI

Spline 3DAdvanced14 min

Learn how to build a 3D portal that reacts as you tilt your device. 📲

In this tutorial, we’ll create and connect a Spline 3D portal to SwiftUI and use the iPhone’s gyroscope to shift the portal’s perspective in real time. It’s a fun and approachable way to bring immersive 3D moments into your iOS apps.

Let’s go! 🚀

Docs: <https://docs.spline.design/exporting-your-scene/apple-platform/code-api-for-swift-ui>

## Related resources

- [SwiftUI PortalTemplate](https://app.spline.design/academy/tutorials/build-a-tilt-controlled-3d-portal-experience-in-swiftui?redirect-duplicate-template-uuid=864989c6-d43e-45f4-bc54-8e9193959963&is-2d-file=false)
- [Native 3D Embeds for iOSDocument](https://docs.spline.design/exporting-your-scene/apple-platform/native-3d-embeds-for-i-os)
- [Code API for SwiftUIDocument](https://docs.spline.design/exporting-your-scene/apple-platform/code-api-for-swift-ui)

## Overview

- Spline 3D
- 14 min
- Advanced

## Part of

- [Spline Advanced | Feature Deep Dive](https://spline.design/academy/collections/spline-advanced-feature-deep-dive/build-a-tilt-controlled-3d-portal-experience-in-swiftui)

## Related tutorials

[All tutorials](https://spline.design/academy/tutorials)

[How to Learn 3D Design with Spline: A Practical Roadmap for Beginners to ProsSpline 3DBeginner8 min](https://spline.design/academy/tutorials/how-to-learn-3d-design-with-spline-a-practical-roadmap-for-beginners-to-pros)[How to Animate 3D Motion Using TimelinesSpline 3DAdvanced12 min](https://spline.design/academy/tutorials/how-to-animate-3d-motion-using-timelines)[Animate Organic 3D Blobs with StatesSpline 3DBeginner5 min](https://spline.design/academy/tutorials/animate-organic-3d-blobs-with-states)

[Spline](https://spline.design/)

The 3D and 2D editor for teams and their agents. Ship to the web, iOS and Android.

#### Ask AI about Spline

#### Products

- [3D Design](https://spline.design/3d-design)
- [Hana](https://spline.design/hana)
- [Omma](https://omma.build)
- [AI 3D Generation](https://spline.design/ai-generate)
- [Spline MCP](https://spline.design/mcp)
- [Pricing](https://spline.design/pricing)
- [Enterprise](https://spline.design/enterprise)

#### Runtimes

- [Web](https://spline.design/web)
- [iOS](https://spline.design/ios)
- [Android](https://spline.design/android)

#### Apps

- [Download](https://spline.design/download)
- [Spline Mirror](https://spline.design/spline-mirror)
- [Download Spline Mirror](https://spline.design/download-mirror)

#### Learn

- [Docs](https://docs.spline.design/)
- [Academy](https://spline.design/academy)
- [Spline API](https://www.npmjs.com/package/@splinetool/runtime)
- [Solutions](https://spline.design/solutions)

#### Community

- [Spline Community](https://community.spline.design)
- [Blog](https://spline.design/blog)
- [Changelog](https://spline.design/changelog)
- [Education](https://spline.design/education)
- [Contra](https://spline.design/contra)
- [Affiliate](https://spline.design/affiliate)

#### Company

- [Customers](https://spline.design/customers)
- [Careers](https://www.ycombinator.com/companies/spline/jobs)
- [Security](https://spline.design/security)

#### Legal

- [Terms & Conditions](https://spline.design/terms)
- [Privacy](https://spline.design/privacy)

#### Contact

- [help@spline.design](mailto:help@spline.design)
- [jobs@spline.design](mailto:jobs@spline.design)

© 2026 - Spline, Inc.
