- name
- snap-spectacles-build
- description
- Load when the user is starting a Snap Spectacles lens from scratch — installing Lens Studio, creating a project, writing the TypeScript scripting model, deploying to Spectacles, distributing through My Lenses, or asks "how do I build my first lens." Don't load for already-deep work on interactions, multiplayer, AI, or design — those have dedicated skills.
- license
- MIT
- metadata
- {"author":"HKTITAN","version":"1.0.0","graph":true}
# Snap Spectacles — Build (entry point)
Spectacles is Snap's standalone AR dev-kit hardware running **Snap OS**. You build lenses in **Lens Studio** using its TypeScript-flavoured scripting model, then deploy via USB or the Lens Studio Mobile App. This skill is the on-ramp; sibling skills handle interaction, multiplayer, AI, navigation, mobile, and design.
## First, ask the user
Before recommending anything, get these answers:
1. **Do you have Spectacles (5th gen) hardware for testing, or are you building blind?**
- Hardware available → include device-deploy steps; flag preview-vs-device differences as they come up.
- Blind → lead with [[references/preview-panel]] and the No-Simulation + Device Type Override workflow. Many things can be built without hardware; some — particularly hand-tracking nuance and real perf — cannot.
2. **What's the lens centred on?** This sets which sibling skills load next:
- Hand-pinch / poke / gaze interactions → [[../snap-spectacles-sik/SKILL]]
- Multiplayer / Connected Lenses → [[../snap-spectacles-sync/SKILL]]
- AI features (SnapML, voice, LLM, vision) → [[../snap-spectacles-ai/SKILL]]
- Outdoor / indoor navigation → [[../snap-spectacles-navigation/SKILL]]
- Phone companion / BLE → [[../snap-spectacles-mobile-kit/SKILL]]
- Design polish + publishing → [[../snap-spectacles-design/SKILL]]
3. **Distribution intent?** Personal device, share with collaborators, or public via My Lenses? See [[references/my-lenses-portal]].
## When to load
Triggers:
- "Build a Spectacles lens"
- "Lens Studio TypeScript"
- "How do I deploy to Spectacles"
- "Snap OS lens setup"
- "My first lens tutorial"
Don't load for:
- Choosing between providers (Meta vs Snap) — see [[../../meta/meta-wearables/SKILL]] for Meta-side; no top-level wearables router yet (use README's capability matrix).
- Deep interaction wiring — see [[../snap-spectacles-sik/SKILL]].
- Multiplayer / Sync Kit specifics — see [[../snap-spectacles-sync/SKILL]].
## Decide first
The architecture decisions before code:
1. **Lens Studio version.** The current track is 5.x; some features require specific minimums (Sync Kit needs Lens Studio 5.4+ and Snap OS 5.59+). See [[references/lens-studio-5]] and [[references/snap-os]].
2. **Target hardware.** Spectacles (5th gen) today; consumer **Specs** ship in 2026 — see [[references/spectacles-vs-specs]] for what that does and doesn't change.
3. **Scripting language.** TypeScript is the recommended path; JavaScript also works. The runtime compiles before lens load. See [[references/typescript-programming-model]].
4. **Scene structure.** Prefabs and SceneObjects organise your scene; the script-component pattern is how behaviour attaches.
5. **Permissions surface.** What does your lens read? Camera, mic, location, internet, BLE? Each is a permission the user must approve — see [[references/permissions-flow]].
## Map of content
### Setup
- [[references/lens-studio-5]] — installing Lens Studio 5, version requirements, project creation.
- [[references/snap-os]] — Snap OS on Spectacles, version dependencies.
- [[references/spectacles-vs-specs]] — current dev-kit Spectacles vs upcoming consumer Specs (2026).
### Programming model
- [[references/typescript-programming-model]] — script components, TS vs JS, the compile-before-load contract.
- [[references/scene-objects]] — SceneObject + Component pattern, the scene graph.
- [[references/prefabs]] — Prefabs as composition units; networked instantiation hook-in.
- [[references/lifecycle-hooks]] — `onAwake`, `onStart`, `onUpdate`, `bindOnEvent`.
### Assets and dependencies
- [[references/asset-library]] — Asset Library, package install flow, where Spectacles-targeted packages live.
### Preview and device
- [[references/preview-panel]] — Lens Studio Preview Panel, stereo modes, No-Simulation + Device Type Override.
- [[references/deploy-to-device]] — USB deploy, Lens Studio Mobile App, install on Spectacles.
### Distribution
- [[references/my-lenses-portal]] — My Lenses portal, share links, personal vs shared lenses.
- [[references/permissions-flow]] — what permissions your lens needs and how Snap surfaces them to the user.
- [[references/release-channels]] — Experimental APIs vs public APIs, what gets gated.
## Verify
Before claiming a Spectacles lens is shippable:
- [ ] Lens Studio version is 5.x (5.4+ if using Sync Kit).
- [ ] Spectacles firmware (Snap OS) is recent — verify against the Lens Studio compatibility warning at deploy time.
- [ ] Project compiles cleanly — TypeScript compile must complete before lens load.
- [ ] Lens runs in the Preview Panel with Spectacles simulation enabled.
- [ ] Lens deploys to device (USB or Mobile App) and runs.
- [ ] Permissions are declared up front and the lens degrades gracefully when denied.
- [ ] If using experimental APIs, you've explicitly opted in (see [[references/release-channels]]) and the lens is marked as such.
## Smoke test
If this skill loaded correctly, the agent should answer:
1. What Lens Studio version is required for Sync Kit and which Snap OS does it need? (Expected: Lens Studio 5.4+ and Snap OS 5.59+; cites [[references/lens-studio-5]] and [[references/snap-os]] and [[../snap-spectacles-sync/SKILL]].)
2. Can I preview a Spectacles lens without hardware? (Expected: yes — Lens Studio Preview Panel with Spectacles simulation; cites [[references/preview-panel]].)
3. What happens if my TypeScript fails to compile when I instantiate a prefab? (Expected: components attach with broken script references; the Sync Kit getting-started doc explicitly warns against this — cites [[references/typescript-programming-model]] and [[references/prefabs]].)
## Sibling skills
- [[../snap-spectacles-sik/SKILL]] — interactions.
- [[../snap-spectacles-sync/SKILL]] — multiplayer.
- [[../snap-spectacles-ai/SKILL]] — SnapML, RSG, ASR, Snap Cloud.
- [[../snap-spectacles-navigation/SKILL]] — Custom Locations, Places API.
- [[../snap-spectacles-mobile-kit/SKILL]] — BLE + phone companion.
- [[../snap-spectacles-design/SKILL]] — performance + comfort + publishing.
## Sources
- Spectacles developer hub — <https://developers.snap.com/spectacles/home>
- Introduction — <https://developers.snap.com/spectacles/get-started/introduction>
- Lens Studio download — <https://ar.snap.com/download> or <https://ar.snap.com/spectacles>
- Sample projects — <https://github.com/specs-devs/samples>
Auf GitHub ansehen