Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

A-Frame Extras

Latest NPM release GitHub license Build Status

Add-ons and helpers for A-Frame VR.

Includes components for controls, model loaders, pathfinding, and more:

├── controls/ (Documentation)
│   ├── movement-controls.js
│   ├── checkpoint-controls.js
│   ├── gamepad-controls.js
│   ├── keyboard-controls.js
│   ├── touch-controls.js
│   └── trackpad-controls.js
├── loaders/ (Documentation)
│   ├── animation-mixer.js
│   ├── collada-model-legacy.js
│   ├── fbx-model.js
│   ├── gltf-model-legacy.js
│   └── object-model.js
├── misc/ (Documentation)
│   ├── checkpoint.js
│   ├── cube-env-map.js
│   ├── grab.js
│   ├── jump-ability.js
│   ├── kinematic-body.js       Deprecated
│   ├── mesh-smooth.js
│   ├── normal-material.js
│   └── sphere-collider.js
├── pathfinding/ (Documentation)
│   ├── nav-mesh.js
│   └── nav-agent.js
└── primitives/ (Documentation)
    ├── a-grid.js
    ├── a-hex-grid.js
    ├── a-ocean.js
    └── a-tube.js

Usage (Scripts)

In the dist/ folder, download any package(s) you need. Include the scripts on your page, and all components are automatically registered for you:

<script src=""></script>

CDN builds for aframe-extras/v6.0.0:

For partial builds, use a subpackage like aframe-extras.controls.min.js. Full list of packages above.

A-Frame Version Compatibility

A-Frame Extras
v0.9.X aframe-extras/v6.0.0
v0.8.X */v5.1.0
v0.5.X */v3.13.1
v0.4.X */v3.3.0
v0.3.X */v2.6.1
v0.2.X */v1.17.0

NOTE: Several components and examples also rely on aframe-physics-system.

Usage (NPM)

npm install --save aframe-extras
// index.js

Once installed, you'll need to compile your JavaScript using something like Browserify or Webpack. Example:

npm install -g browserify
browserify index.js -o bundle.js

bundle.js may then be included in your page. See here for a better introduction to Browserify.