visionos-animations

Animate visionOS SwiftUI views and RealityKit entities with loading-state progress patterns.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/likw99/agent-plugins --skill visionos-animations-likw99
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: visionos-animations
Source: https://github.com/likw99/agent-plugins/tree/main/plugins/build-visionos-apps/skills/visionos-animations
Command: npx skills add https://github.com/likw99/agent-plugins --skill visionos-animations-likw99

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Long async jobs like text-to-3D generation leave visionOS users staring at frozen screens, and developers struggle to coordinate 2D SwiftUI progress UI with 3D RealityKit motion while keeping spatial animation comfortable. ## Core Features & Use Cases - SwiftUI animation layer: ProgressView, symbol effects, phaseAnimator, keyframeAnimator, transitions, and content transitions for windows, ornaments, and overlays. - RealityKit animation layer: FromToByAnimation, OrbitAnimation, baked USDZ/skeletal clips via playAnimation, and per-frame Systems for entity motion in volumes and immersive spaces. - Loading-state playbook: A complete recipe pairing determinate/indeterminate progress UI with a spinning placeholder entity that swaps to the finished model on completion. - Use Case: While a text-to-3D job runs for minutes, show an animated status icon, a live progress bar, and a gently spinning placeholder box, then fade in the generated model and stop all animation controllers on completion. ## Quick Start Use the visionos-animations skill to add a determinate progress bar and a spinning RealityKit placeholder while my model generation task runs.

Frequently Asked Questions about visionos-animations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I show a loading animation in a visionOS app?▼

Use ProgressView for determinate or indeterminate 2D progress, add symbol effects like .variableColor for an animated status icon, and optionally spin a lightweight placeholder entity in RealityKit with a repeating FromToByAnimation while the job runs.

How to animate a RealityKit entity rotation in visionOS?▼

Create a FromToByAnimation targeting .transform with a rotation from 0 to pi around the Y axis, generate an AnimationResource, and call entity.playAnimation with res.repeat(). Retain the returned AnimationPlaybackController so you can stop the spin later.

SwiftUI vs RealityKit for visionOS animation, which should I use?▼

Use SwiftUI for 2D UI in windows, ornaments, and overlays such as progress bars and symbol effects. Use RealityKit for 3D entity motion inside volumes and immersive spaces, such as spinning placeholders or playing baked USDZ animations.

Can I play baked USDZ or skeletal animations in RealityKit?▼

Yes, models exported with animation expose clips through entity.availableAnimations. Play one with entity.playAnimation using a transitionDuration to crossfade, and call repeat() to loop it.

Why does my RealityKit loading animation never stop?▼

The AnimationPlaybackController returned by playAnimation was not retained, so stop() cannot be called later. Keep a reference to the controller and stop it when the job completes or in onDisappear.

How do I handle Reduce Motion for visionOS animations?▼

Read the accessibilityReduceMotion environment value and substitute a calm fallback such as a static state or cross-fade instead of springs and spinning. Keep spatial motion small and slow to avoid discomfort.