Export to SwiftUI Project
Add to favorites
Crafting Stunning 3D Experiences: A Step-by-Step Guide with Spline for iOS Apps
Play video

Create 3D UI for iOS and visionOS in Spline
1
Intro to Spline for iOS and visionOS
7:25
2
Basic Shapes in 3D Smart Home
10:12
3
Materials, Lights and Effects
12:11
4
Camera Animation and States
7:05
5
3D Thermostat and Cloner
14:38
6
Buttons and Components
8:26
7
Path Animation and Rotation
7:10
8
Create a 3D iOS App Icon
7:09
9
Create a visionOS App Icon
9:53
10
Create 3D UI Scene
9:49
11
Particles Animation
20:30
12
Export to SwiftUI Project
16:20
Getting Started with your 3D iOS App
- Spline Documentation: https://docs.spline.design/native-3d-embeds-for-ios
- Apple ID: Essential for app testing on devices. Sign up for free at Apple ID.
- Apple Developer Program: Required for App Store publishing. Enroll at Apple Developer Program.
For membership details, see Choosing a Membership.
Team IDs: Necessary for app development in Xcode. Find your Team ID here.
Download Xcode
Minimum Version: 15.0
To build iOS apps, including those with Spline native embeds, install Xcode from the Mac App Store or Apple Developer website. Available for macOS only.
Download Xcode Projects
You can download these sample Xcode projects to test the 3D in SwiftUI. Spline also has a sample project in their documentation.
Generate Xcode Project
To start, ensure you have Xcode installed on your macOS. Begin the process by inputting the details of your app, such as:
- App Name: Thermostat. This is what your app will be called on devices and in the App Store.
- Organization ID: io.designcode. Typically, this is your domain name in reverse, providing a unique identifier for your app.
After entering these details, click the Generate button to create your Xcode project.
Export to iOS
First, open Xcode and create a new project tailored for your iOS application. This initial step is crucial for structuring your app and preparing it for integration with Spline content.
- Create a new Xcode Project
Install Package
To incorporate Spline’s 3D capabilities into your iOS project, add the Spline iOS Runtime package to your project by using the provided URL: https://github.com/splinetool/spline-ios
In your project, you'll need to import the Spline Runtime at the top of your Swift files where it's needed:
import SplineRuntime
Local Spline File
To use a Spline design locally within your app, you should first export your design from the Spline app as a .splineswift
file. Once exported, add this file to your Xcode project's resources. This method allows your app to load and display the 3D content without requiring an internet connection, offering a seamless experience even offline.
import SplineRuntime
import SwiftUI
struct ContentView: View {
var body: some View {
// // fetching from local
let url = Bundle.main.url(forResource: "scene", withExtension: "splineswift")!
try? SplineView(sceneFileURL: url).ignoresSafeArea(.all)
}
}
Spline URL
Alternatively, to load your Spline content dynamically, you can host your .splineswift
file online and reference its URL in your app. This approach is beneficial for apps that frequently update their 3D content, as it allows for changes to be made on the Spline platform and reflected in the app without needing to redistribute or update the app itself.
import SwiftUI
import SplineRuntime
struct ContentView: View {
var body: some View {
// fetching from cloud
let url = URL(string: "<https://build.spline.design/wumx7nDokhnW1ohf53wQ/scene.splineswift>")!
try? SplineView(sceneFileURL: url).ignoresSafeArea(.all)
}
}
Smart Home SwiftUI
import SwiftUI
import SplineRuntime
struct ContentView: View {
var body: some View {
// fetching from cloud
let url = URL(string: "<https://build.spline.design/wumx7nDokhnW1ohf53wQ/scene.splineswift>")!
try? SplineView(sceneFileURL: url)
.ignoresSafeArea(.all)
.overlay(InterfaceView())
.preferredColorScheme(.dark)
}
}
#Preview {
ContentView()
}
3D House SwiftUI
import SwiftUI
import SplineRuntime
struct ContentView: View {
var body: some View {
// fetching from cloud
let url = URL(string: "<https://build.spline.design/ufKKcG-e5a1FOx7Xu4TG/scene.splineswift>")!
try? SplineView(sceneFileURL: url)
.ignoresSafeArea(.all)
.overlay(
InterfaceView()
.frame(maxHeight: .infinity, alignment: .bottom)
)
}
}
#Preview {
ContentView()
}
Export to Vision OS
For applications targeting Vision OS, the process involves a few additional steps:
- Download App: Ensure you have the Spline app installed from the App Store.
- Log in: Use your Spline account credentials to access your projects and designs.
- Browse and Update Files: Navigate through your Spline files within the app to select the designs you wish to integrate. Utilize the update feature to ensure your app contains the latest versions of your Spline designs.
- Read the documentation.
Conclusion
As we wrap up this 3-hour course on 3D design with Spline, it’s exciting to see how much we’ve covered. Spline makes it easy and fun to bring your creative ideas to life in 3D. Plus, learning how to use these 3D designs in Apple’s world, from iPhones to Macs, opens up lots of new possibilities for making apps and other cool projects.
We started with the basics, moved on to more advanced stuff, and showed you how to make your 3D designs work smoothly on Apple devices. This journey has not only boosted your skills but also your confidence in creating something unique and interactive.
Follow our Journey
At our core, we're passionate about teaching the best tools in design and technology. Our journey is all about sharing knowledge, insights, and empowering you to create with confidence and innovation. Follow our adventure across various platforms where we post tutorials, tips, and behind-the-scenes looks into the creative process.
- Twitter: For quick updates, tips, and links to our latest tutorials, follow us on Twitter.
- Instagram: Dive into our visual diary on Instagram for inspiration, sneak peeks of upcoming courses, and more.
- Threads: Join our community on Threads where we share deeper insights and engage in meaningful conversations about design and tech.
- TikTok: For fun, engaging, and short tutorials, don't miss our content on TikTok.
Be part of our journey and stay updated on the latest in design and tech with us across these platforms!
Templates and source code
Download source files
Download the videos and assets to refer and learn offline without interuption.
Design template
Source code for all sections
Video files, ePub and subtitles
Assets
Videos
1
Intro to Spline for iOS and visionOS
Comprehensive 3D Design Course: From Basics to Advanced Techniques for iOS and visionOS using SwiftUI
7:25
2
Basic Shapes in 3D Smart Home
Transforming simple shapes into a 3D base for a house model scene
10:12
3
Materials, Lights and Effects
Enhance your 3D scene by incorporating elements from the lore ibrary and adding materials and lighting to add realism
12:11
4
Camera Animation and States
Creating dynamic scenes with the addition of animations
7:05
5
3D Thermostat and Cloner
Learn how to design a thermostat interface with basic shapes
14:38
6
Buttons and Components
Creating knobs and buttons elements and turning them to components
8:26
7
Path Animation and Rotation
Animating a Thermostat Interface: A Step-by-Step Guide
7:10
8
Create a 3D iOS App Icon
Crafting iOS 3D Icons: A Comprehensive Tutorial
7:09
9
Create a visionOS App Icon
Discover how to design the Photos app icon, enhancing the visual experience in visionOS.
9:53
10
Create 3D UI Scene
Learn how to design and implement 2D user interfaces to integrate within 3D scenes, enabling the triggering of actions on any 3D object
9:49
11
Particles Animation
Discover the new particle feature designed to create a range of visual effects like fire, smoke, rain, snow, and other dynamic phenomena
20:30
12
Export to SwiftUI Project
Crafting Stunning 3D Experiences: A Step-by-Step Guide with Spline for iOS Apps
16:20
Meet the instructor
We all try to be consistent with our way of teaching step-by-step, providing source files and prioritizing design in our courses.
Meng To
I design, code and write
Meng To is the author of Design+Code. Meng started off his career as a self-taught designer from Montreal and eventually traveled around the world for 2 years as his US VISA was denied. During his travels, he wrote a book which now has 35,000 readers.
39 courses - 184 hours

Build SwiftUI apps for iOS 18 with Cursor and Xcode
In this course, we'll explore the exciting new features of SwiftUI 6 and Xcode 16 for building iOS 18 apps. From mesh gradients and text animations to ripple effects, you'll learn how to create polished, highly custom apps using the latest workflows. We'll also dive into using Cursor and Claude AI for AI-driven coding, helping you start strong and customize your apps.
5 hrs

Create your Dream Apps with Cursor and Claude AI
Learn to build your dream web apps from the ground up using Cursor, Claude AI, and a suite of powerful AI tools. This course covers everything you need, including React for frontend development, Firebase for backend integration, and Stripe for handling payments. You’ll also dive into advanced AI tools like Claude Artifacts, Galileo AI, v0.dev for UI, Ideogram for design generation, and Cursor Composer for full-scale development.
6 hrs

Build a React Site from Figma to Codux
In this course, you'll learn to build a website from scratch using Codux, starting with a Figma template. You’ll master responsive design, collaborate with developers on a real React project, export CSS from Figma using Locofy, set up breakpoints with media queries, add CSS animations, improve SEO, create multiple pages with React Router, and publish your site. By following best practices, you’ll bridge design and development, improve your web design skills.
2 hrs

Create 3D UI for iOS and visionOS in Spline
Comprehensive 3D Design Course: From Basics to Advanced Techniques for iOS and visionOS using SwiftUI
3 hrs

Master No-Code Web Design with Framer
In this free Framer course, you'll learn to create modern, user-friendly interfaces. Start with dark mode and glass designs, then move from Figma to Framer, using vectors and auto layout for responsive websites. Add animations, interactive buttons, and custom components with code. Finally, you'll craft a design system suitable for teamwork or solo projects, all in a straightforward and practical approach.
4 hrs

Build SwiftUI Apps for iOS 17
In this course, we’ll be exploring the fresh and exciting features of SwiftUI 5! As we craft a variety of iOS apps from the ground up, we'll delve deep into the treasure trove that is SwiftUI's user interface, interactions, and animations.
4 hrs

Build Beautiful Apps with GPT-4 and Midjourney
Design and develop apps using GPT-4 and Midjourney with prompts for SwiftUI, React, CSS, app concepts, icons, and copywriting
4 hrs

Build SwiftUI apps for iOS 16
Create animated and interactive apps using new iOS 16 techniques using SwiftUI 4 and Xcode 14
5 hrs

Build a 3D Site Without Code with Framer
Design and publish a responsive site with 3D animation without writing a single line of code
3 hrs

Create 3D Site with Spline and React
Design and code a landing page with an interactive 3D asset using Spline and CodeSandbox
1 hrs

Build an Animated App with Rive and SwiftUI
Design and code an iOS app with Rive animated assets, icon animations, custom layouts and interactions
3 hrs

Build a SwiftUI app for iOS 15 Part 3
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
4 hrs

Build a SwiftUI app for iOS 15 Part 2
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
3 hrs

Build a SwiftUI app for iOS 15
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
4 hrs

React Livestreams
Learn how we can use React Hooks to build web apps using libraries, tools, apis and frameworks
4 hrs

Design Founder Livestreams
A journey on how we built DesignCode covering product design, management, analytics, revenue and a good dose of learning from our successes and failures
2 hrs

SwiftUI Advanced Handbook
An extensive series of tutorials covering advanced topics related to SwiftUI, with a main focus on backend and logic to take your SwiftUI skills to the next level
4 hrs

iOS Design Handbook
A complete guide to designing for iOS 14 with videos, examples and design files
2 hrs

SwiftUI Handbook
A comprehensive series of tutorials covering Xcode, SwiftUI and all the layout and development techniques
7 hrs

Build a web app with React Hooks
Learn how we built the new Design+Code site with React Hooks using Gatsby, Netlify, and advanced CSS techniques with Styled Components.
4 hrs

UI Design Handbook
A comprehensive guide to the best tips and tricks for UI design. Free tutorials for learning user interface design.
2 hrs

Figma Handbook
A comprehensive guide to the best tips and tricks in Figma
6 hrs

SwiftUI for iOS 14
Build a multi-platform app from scratch using the new techniques in iOS 14. We'll use the Sidebar and Lazy Grids to make the layout adaptive for iOS, iPadOS, macOS Big Sur and we'll learn the new Matched Geometry Effect to create beautiful transitions between screens without the complexity. This course is beginner-friendly and is taught step-by-step in a video format.
3 hrs

SwiftUI Livestreams
This is a compilation of the SwiftUI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.
19 hrs

UI Design Livestreams
This is a compilation of the UI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.
26 hrs

UI Design for Developers
In this course we'll learn how to use design systems, set up break points, typography, spacing, navigation, size rules for adapting to the iPad, mobile and web versions, and different techniques that translate well from design to code.
3 hrs

Build an app with SwiftUI Part 3
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs

Build an app with SwiftUI Part 2
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs

Build a full site in Webflow
Webflow is a design tool that can build production-ready experiences without code. You can implement CSS-driven adaptive layouts, build complex interactions and deploy all in one tool. Webflow also comes with a built-in content management system (CMS) and Ecommerce for creating a purchase experience without the need of third-party tools.
3 hrs

Advanced Prototyping in ProtoPie
ProtoPie is a cross-platform prototyping tool that creates prototypes nearly as powerful as those made with code, with half of the efforts, and zero code. It's perfect for designers who want to quickly experiment with advanced interactions using variables, conditions, sensors and more.
3 hrs

Build an app with SwiftUI Part 1
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs

React Native for Designers Part 2
React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.
3 hrs

React Native for Designers
React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.
5 hrs

Design System in Figma
Learn how to use and design a collaborative and powerful design system in Figma. Design Systems provide a shared library of reusable components and guidelines and that will let you build products much faster
3 hrs

React for Designers
Learn how to build a modern site using React and the most efficient libraries to get your site/product online. Get familiar with Grid CSS, animations, interactions, dynamic data with Contentful and deploying your site with Netlify.
3 hrs

Swift Advanced
Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch
9 hrs

Learn Swift
Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch
4 hrs

Learn Sketch
Learn Sketch a design tool entirely vector-based and focused on user interface design
5 hrs

Learn iOS 11 Design
Learn colors, typography and layout for iOS 8
1 hrs