Give your app’s first impression a moment people actually remember.
This is a complete, ready-to-drop-in iOS onboarding source code where each illustration doesn’t just fade or slide out, it disintegrates into drifting, glowing particles as the user swipes to the next step. The whole effect is built with a real Metal shader running through SwiftUI’s native layerEffect / visualEffect pipeline, not a pre-rendered animation or a third-party framework.
WHAT’S INCLUDED
• A custom Metal shader (“disintegrate”) that breaks any SwiftUI view into thousands of tiny animated particles with organic drift, wobble, and a soft chromatic energy glow at the breakaway edge
• A 6-direction sweep system (top/bottom, leading/trailing, left/right) with automatic mirroring for right-to-left languages
• A clean, ready-to-use 3-step onboarding flow: title, subtitle, image, progress dots, and a Next/Start button
• Fully commented Swift and Metal source files
• A step-by-step README (English + Vietnamese) explaining exactly how each file works and the order to wire them up
• Simple, well-organized SwiftUI code you can restyle, extend to more steps, or drop straight into an existing project
WHY THIS EFFECT
Onboarding screens are the very first thing a new user sees. A tired fade-slide transition blends into the background, a dissolve effect gives your app a distinctive, premium, “wow, how did they do that” moment in the first ten seconds, at zero extra runtime cost beyond the GPU shader itself.
REQUIREMENTS
• iOS 18 or later (uses SwiftUI’s native Metal shader pipeline)
• Xcode 16 or later
• Swift, SwiftUI, Metal — no third-party dependencies
WHO THIS IS FOR
• iOS developers who want a polished onboarding flow without building a particle shader from scratch
• Indie devs and agencies looking to ship a more memorable first-run experience
• Anyone curious how to drive a Metal shader from SwiftUI with layerEffect / visualEffect
WHAT YOU GET IN THE DOWNLOAD
• Disintegration.metal
• ContentView.swift
• OnboardingView.swift
• DisintegrateEffectApp.swift
• OnboardingModel.swift
• DisintegrateDirection.swift
• README.md (English) + README.vi.md (Vietnamese)
Drop the files into a new or existing SwiftUI project, add your own three images and copy, and you have a fully working disintegrate onboarding flow.