Skip to content
Fast Syncing component for A-Frame, Demo:
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

A-Frame fast-sync

Used to efficiently sync the position and rotation of 100s of A-Frame objects at 30fps, written to be as fast and light as possible.


Requires a Node server,

npm install --save fast-sync

In your server:

There is a complete example in the demo

const server = require('http').createServer();

// Options from
// Set up the WebSocket Server;
const wss = fastSync(server, {
	path: '/fast-sync/',
	debug: true

On the client

Include the dist file in your client:

  <script src=""></script>
  <script src="/fast-sync/fast-sync-component.js"></script>

Configure the aframe system:

By default it uses the room 'demo' and the url as the url of the page + '/fast-sync/'

<a-scene fast-sync-controller="room: demo; url: wss://;">

Simple syncing

When it is initiated it will clone itself onto any remote users with the following components copied:

material, color, shadow, id, class, geometry, scale

As well as any components defined in components.

<a-box fast-sync="components: foo;" foo="bar">
	<a-animation from="0 0 0" to="0 90 0" repeat="indefinite" easing="linear" end="stolen"></a-animation> 

30 times a second it will sync it's position with the server.

You can’t perform that action at this time.