This is a comprehensive reference for building 3D scenes in iOS apps with SceneKit's node-based architecture, covering scene setup, geometry primitives, PBR materials, lighting with shadow configuration, camera control, three animation approaches (SCNAction, SCNTransaction, Core Animation), physics simulation, particle systems, and SwiftUI integration via SceneView. The skill includes concrete code samples for transforms, material properties, light types with category bitmasks, and model loading from USDZ and SCN files. Worth noting that Apple deprecated SceneKit at WWDC 2025 in favor of RealityKit, so this is most useful for maintaining existing codebases or prototyping quick 3D visualizations where migration complexity isn't justified. The examples use Swift 6.3 with SIMD types for performance-critical transform operations.

skills.sh installs
3.2K
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add dpearson2699/swift-ios-skills --skill scenekit --agent claude-code

Installs into .claude/skills of the current project.

Files

SceneKit

Maintain existing SceneKit scenes only. Apple deprecated SceneKit at WWDC 2025 and limits it to maintenance; route new projects, major modernization, and USD/USDZ pipelines to RealityKit. Existing apps continue to work.

Contents

Scene Setup

SCNView in UIKit

import SceneKit

let sceneView = SCNView(frame: view.bounds)
sceneView.scene = SCNScene()
sceneView.allowsCameraControl = true
sceneView.autoenablesDefaultLighting = true
sceneView.backgroundColor = .black
view.addSubview(sceneView)

allowsCameraControl adds built-in orbit, pan, and zoom gestures. Typically disabled in production where custom camera control is needed.

Creating an SCNScene

Sponsors

Details

Repository
github.com/dpearson2699/swift-ios-skills
Categories
Productivity & Planning, Mobile Development, Design & UI/UX, Game Development
First seen
May 16, 2026

More from dpearson2699/swift-ios-skills

All 98
1markdown-viewer avatarmindmapmarkdown-viewer/skillsCreate hierarchical mind maps using PlantUML @startmindmap syntax. Best for brainstorming, topic decomposition, study notes, and decision trees with automatic r3.2Kskills.sh installs
2kostja94 avatarvideo-marketingkostja94/marketing-skillsWhen the user wants to plan video marketing, create video scripts, or optimize for short-form or long-form video. Also use when the user mentions "video marketi3.2Kskills.sh installs
3markdown-viewer avatararchimatemarkdown-viewer/skillsCreate ArchiMate enterprise architecture diagrams using PlantUML stdlib macros. Best for TOGAF viewpoints, layered EA modeling (Business/Application/Technology)3.2Kskills.sh installs
4anthropics avatarsynthesize-researchanthropics/knowledge-work-pluginsSynthesize user research from interviews, surveys, and feedback into structured insights. Use when you have a pile of interview notes, survey responses, or supp3.2Kskills.sh installs
5phuryn avatarmetrics-dashboardphuryn/pm-skillsDefine and design a product metrics dashboard with key metrics, data sources, visualization types, and alert thresholds. Use when creating a metrics dashboard, 3.1Kskills.sh installs
6anthropics avatarclose-managementanthropics/knowledge-work-pluginsManage the month-end close process with task sequencing, dependencies, and status tracking. Use when planning the close calendar, tracking close progress, ident3.1Kskills.sh installs