A collection of awesome resources for the A-Frame WebVR framework.
Latest commit 67511ab Feb 6, 2017 @ngokevin ngokevin committed on GitHub Merge pull request #125 from LC43/master
update from week 45


awesome-aframe Awesome

A collection of awesome resources for the A-Frame WebVR framework.

This list is synced now and then. For some of the more recent stuff, check out the recent A Week of A-Frame roundups on the blog

Table of Contents

Official Resources

Straight from the horse's mouth.

Scenes built by the A-Frame team.


Find human beings using A-Frame.


Learn about A-Frame.


Case Studies




Community components. To create and share a component, see angle or the Component Boilerplate. For curated components, see the Registry.

  • Along Path - Interpolating an entity's position along a path
  • Always Fullscreen - Provide ways to enable Fullscreen on iOS (Scroll to Minimal-UI) and Android/Desktop (Fullscreen API)
  • Asset Lazy Load - Assign asset loading order and delays
  • Asset On-Demand - Load Assets dynamically when needed (and properly clean them up if not)
  • Audio Visualizer - Audio visualizations using WebAudio API
  • Bmfont - Renders bitmap/SDF fonts for high-quality 2D text
  • Broadcast - Multiuser with WebSockets
  • Checkpoint Controls - Eased linear locomotion between designated hotspots
  • Collider, Explode, Spawner - Collection of components for collision, geometry explosions, and entity spawning
  • Crawling Cursor - Cursor projected onto surfaces
  • Crease - Creased shading
  • Cubemap - Create a skybox from a cubemap
  • Drag Look - Look controls in the opposite direction with changing cursor style
  • Draw - HTML5 <canvas> as a material texture, with support for extension components
  • Entity Generator - Generate entities
  • Event Set - Set properties in response to events, replacement for declarative events
  • Extras - Don's collection of A-Frame components
  • Extrude and Lathe - Extrude and lathe geometries
  • Faceset - Geometry from vertices and faces
  • Fence - Set boundaries on entity position
  • Firebase - Multiuser with Firebase
  • Fit Texture - Automatically scale entities relative to their texture, so you don't need to set width/height manually
  • FPS Look - Facilitates controlling entity rotation directly with captured mouse
  • Gamepad Controls - Gamepad controls using HTML5 Gamepad API
  • GIF - Display GIF as a texture by using a Canvas
  • glTF - glTF models
  • Gradient Sky - Gradient sky box
  • Grid Helper - Create customizable grids
  • Height Grid - Terrain
  • href - Link to other pages using cursor component
  • HTML Texture - Using HTML as a texture, powered by html2canvas
  • Interpolation - Interpolate positional and rotational updates for entities, useful for fetching from server for multiplayer
  • k-frame - Kevin's collection of A-Frame components
  • Keyboard - Full VR keyboard for use with WebVR controllers
  • Layout - 3D layout of child entities
  • Leap Hands - Leap Motion
  • Mario Star Texture - Texture that cycles colors like stars in Mario using canvas
  • Mesh Line - Draw thick lines
  • Mouse Cursor - Use mouse as a direct pointer
  • No-click Look Controls - Intuitive desktop view controls without requiring mousedown + drag
  • Ocean - Flat-shaded ocean primitive and component, with animated waves
  • Orbit Controls - Orbit camera around an entity
  • Particle System - Particle systems (e.g., rain, dust, snow, fire)
  • Passthrough - Show video feed from device's camera
  • Physics + Vive Controls - grab and sphere-collider components for combining Vive controllers with aframe-extras.physics
  • Physics - Rigid-body physics using Cannon.js
  • PLY Loader - Model loader for .PLY models, wrapping THREE.PLYLoader
  • Polygon - n-sided polygons
  • Proxy Controls - Connect input devices from your desktop to your mobile phone with WebRTC
  • Randomizer - Set random values
  • Selectable by @scenevr- Click on an entity to select it, handy for editors
  • Shadows - Realtime shadows
  • Shake-to-Show - Using shake.js to toggle UI
  • Star - 2D stars
  • Stereo - Enable rendering different entities for each eye, using THREE.js layers so you can render 3D stereoscopic videos (full and half-dome)
  • Teleport Controls - Teleportation with tracked controllers
  • Template - Integration with Handlebars, Jade, mustache, Nunjucks JS template engines
  • Text Wrap - Wrapping text dynamically rendered onto the draw component
  • Text - Polygonal text
  • THREE Loader - Model loader for .json models, wrapping THREE.JSONLoader and THREE.ObjectLoader
  • Tube - Cylindrical primitive that shapes itself to a given path
  • UI Modal - Show dialog box or a menu in front of the camera
  • Universal Controls - Refactored A-Frame controls that supports gamepad, HMD, keyboard, mouse + pointerlock, touch-to-move, with physics compatibility
  • Video Controls - Video controls (play/pause/jump) for A-Frame video assets
  • Vive Cursor - A cursor for HTC Vive controllers
  • WebVR Controller - HTC Vive controllers
  • Look At and Billboard - Component to tell an entity to face another entity, or to face the camera
  • Animation - New and improved animation system using components. [Code]
  • ChartBuilder - A component for using ChartBuilder charts
  • Stereo Cube - A component for stereo cubemap textures (i.e., left and right eye textures)
  • Trigger Box - A component that emits an event when it enters or leaves a predefined area
  • L-System - A component for rendering Lindenmayer systems
  • Terrain Model - Generating terrains using TerrainLoader
  • Orbit Controls Component - Allow desktop users to rotate the camera around an object
  • Sprite Component - Creates bitmap images that always face the camera
  • UI Components - A collection of components related to UI
  • Pipe - A pipe with inner and outer radius
  • Persist Component - Use localStorage to make data persist over experiences
  • Gradient Sky - Use two colors to create a gradient shader for colorful skies
  • Mouse Cursor Component - Add interaction to the hardware mouse, by raycasting from XY position on canvas


  • Draw - Render from canvas
  • HTML - Render from HTML
  • Video - iOS-compatible video material
  • GIF - Render animated GIFs


Integration with existing tools, frameworks, and libraries.


Use React with A-Frame. Share your A-Frame React Components!


Contributions and suggestions are very welcome. Check out the guidelines and make a pull request