aframe-webxr

Build browser-based VR, AR, and 3D scenes using A-Frame's HTML entity-component architecture.

Updated May 26, 2026
One-click install
npx skills add https://github.com/KinalVR-Expo2026/KinalVR-Client --skill aframe-webxr-kinalvr-expo2026
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aframe-webxr
Source: https://github.com/KinalVR-Expo2026/KinalVR-Client/tree/main/.claude/.agents/skills/aframe-webxr
Command: npx skills add https://github.com/KinalVR-Expo2026/KinalVR-Client --skill aframe-webxr-kinalvr-expo2026

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building WebXR experiences typically requires deep Three.js and WebGL knowledge. This Skill provides declarative HTML-based patterns for creating VR, AR, and 3D scenes with minimal JavaScript, covering scene setup, interactions, and performance tuning. ## Core Features & Use Cases - Declarative 3D Scenes: Create scenes with HTML primitives like a-box, a-sphere, and a-sky using the entity-component-system architecture. - VR/AR Interactions: Implement controller grabbing, laser pointers, gaze cursors, and AR hit-testing for placing objects on real-world surfaces. - 360° Media & Models: Build 360-degree image galleries and load GLTF models with animation mixers and asset preloading. - Use Case: Create a cross-platform VR product showroom where users navigate with hand controllers, grab items, and view 360° environment photos, all running in the browser on desktop, mobile, or headset. ## Quick Start Create an A-Frame VR scene with a camera rig, hand controllers, and interactive grabbable objects that respond to trigger and grip events.

Frequently Asked Questions about aframe-webxr

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

FAQPage Schema
How do I create a VR scene with A-Frame?

Include the A-Frame script tag, then wrap primitives like a-box, a-sphere, and a-sky inside an a-scene element. The scene automatically injects a default camera with look controls and WASD movement, so no JavaScript is required for a basic scene.

How to add VR controller interactions in A-Frame?

Attach hand-controls and laser-controls components to entities inside a camera rig, one per hand. Listen for triggerdown, triggerup, gripdown, and gripup events on interactive entities to implement grabbing and manipulation.

Does A-Frame support AR hit testing on mobile?

Yes, A-Frame supports AR hit testing through the ar-hit-test component combined with the webxr system configured with hit-test and dom-overlay optional features. Users tap the screen to place virtual objects on detected real-world surfaces.

A-Frame vs Three.js for web 3D development?

A-Frame is built on Three.js and provides a declarative HTML-first API suited for rapid WebXR prototyping, while Three.js offers lower-level imperative control. You can access underlying Three.js objects via entity.object3D when you need direct manipulation.

Why are my A-Frame click events not firing?

Click events require a cursor or raycaster to detect intersections. Add an a-cursor element inside the camera with a raycaster targeting a CSS class, then assign that class to your interactive entities.

How do I improve A-Frame performance on mobile VR?

Reduce renderer canvas size, use low-poly geometry with fewer segments, limit the number of lights, and pool entities instead of creating and destroying them. Throttle tick functions and use Three.js InstancedMesh for repeated objects.