# scenekit

Keeps existing SceneKit scenes working: nodes, materials, lights, cameras, animation and physics. Points new projects toward RealityKit.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3100 installs · ★ 1237
- Author: dpearson2699
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/scenekit/SKILL.md
- Updated: 2026-07-31
- HTML: https://affpapa.org/en/nevibecode/skills/scenekit

## What it does

The skill covers `SCNView`, `SCNScene` and the `SCNNode` graph: geometry, materials, lights, cameras, `SCNAction` animation, `SCNPhysicsBody` physics, `SCNParticleSystem` effects, shader modifiers and SwiftUI `SceneView`. It ships as reference sections with Swift snippets plus a review checklist.

Apple put SceneKit into maintenance mode at WWDC 2025, and the skill says so up front: new apps, major updates and USD/USDZ pipelines belong in RealityKit. Existing apps keep running, and that is the case this skill targets. Worth checking where your 3D effort goes if you plan to keep building on it.

Install runs through `npx skills add` for Claude, Codex, Cursor, Gemini CLI and OpenCode; GitHub Copilot uses `gh skill install`. The skill file lands in the platform's skills directory, for example `~/.claude/skills/scenekit/SKILL.md`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill scenekit -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/scenekit/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/scenekit/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill scenekit -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/scenekit/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill scenekit -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/scenekit/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dpearson2699/swift-ios-skills scenekit
```

2. **Manually: put the files in place**
- File: `.github/skills/scenekit/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill scenekit -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/scenekit
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/scenekit/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill scenekit -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/scenekit/SKILL.md

## When to use it
- find a node by name in a deep scene graph
- set up a PBR material with normal and ambient occlusion maps
- add shadows and cap how many lights hit one node
- chain several `SCNAction` steps into one sequence
- attach physics to a node with `SCNPhysicsBody`

## Example prompts
- My node stops moving after `runAction` — look at the code and tell me why
- How do I set `lightingModel = .physicallyBased` on `SCNMaterial` for a metal surface?
- I want to limit lights by `categoryBitMask` so distant nodes stay unlit

## Similar
- [axiom-games](https://affpapa.org/en/nevibecode/skills/axiom-games.md) — skill · 1100 installs
- [axiom-graphics](https://affpapa.org/en/nevibecode/skills/axiom-graphics.md) — skill · 1200 installs
- [xcode-project-setup](https://affpapa.org/en/nevibecode/skills/xcode-project-setup.md) — skill · 130700 installs
- [expo-migrate-module](https://affpapa.org/en/nevibecode/skills/expo-migrate-module.md) — skill · 19400 installs
- [clerk-swift](https://affpapa.org/en/nevibecode/skills/clerk-swift.md) — skill · 14500 installs
- [swiftdata-pro](https://affpapa.org/en/nevibecode/skills/swiftdata-pro.md) — skill · 9300 installs

From the same set: [dpearson2699/swift-ios-skills](https://affpapa.org/en/nevibecode/by/dpearson2699/swift-ios-skills.md) — 86 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
