Enter VR


Your challenge: build a WebXR game for the js13kGames competition using A-Frame, Babylon.js, or Three.js with all the assets within 13 kilobytes in a zip package.

Virtual Reality is the next frontier for games! A-Frame, Babylon.js, and Three.js are powerful open source web frameworks for building virtual reality experiences. WebXR makes it possible for web developers to get involved. Two years ago we’ve introduced a whole new category with the A-Frame framework, last year added Babylon.js as the second option, and this year we're adding Three.js to the mix, so you have plenty of options to chose from.

Inspire us with a virtual reality game experience built in WebXR with any of the three frameworks. For this category, you’ll have the same file size limit set to 13 kilobytes plus A-Frame, Babylon.js, or Three.js for free. We can’t wait to see what you create!


Fernando Serrano Garcia

Fernando Serrano Garcia

Working on improving the WebXR content ecosystem at Mozilla Mixed Reality. Computer graphics and game development enthusiast, former demoscener focused on small size procedural intros.

@fernandojsg | fernandojsg.com

Josh Marinacci

Josh Marinacci

For over 20 years Josh Marinacci has worked as developer advocate, UX designer, researcher, engineer, and Twitch streamer. He has worked at such storied companies as Palm, HP, Nokia, Sun, and Mozilla. He is currently the Senior Developer Advocate for Mixed Reality at Mozilla. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces.

@joshmarinacci | joshondesign.com

Diego González

Diego González

Product Manager for Web Developer Advocacy in Samsung UK. American, gamer, gadget enthusiast and aspiring cat dad and goat grandad.

@diekus | diek.us

Jason Carter

Jason Carter

From working on feature animated movies at Dreamworks and Disney, to helping create the HoloLens at Microsoft, and now helping to shape the future of a more dimensional web with Babylon.js… Jason has dedicated his career to the intersection of art and technology. Jason is driven to shape a future for his children, full of richer worlds, more immersive stories, and deeper human connection.

@pirateJC | babylonjs.com


Oculus Quest

3 × Oculus Quest

Three Oculus Quest devices.


5 × WebStorm license

Five personal licenses for the WebStorm JavaScript IDE created
by the JetBrains team.


10 × PlayCanvas account

Ten 6-month PlayCanvas Personal accounts offering a cloud-hosted, collaborative platform for building games.

js13kGames 2019 t-shirt

15 × T-shirt

Fifteen unique 2019 t-shirts.

js13kGames Mozilla


The rules of the competition for the WebXR category are exactly the same as Desktop, with one extra - you can include the A-Frame or Babylon.js or Three.js library from a remote server. Place either of this HTML in your <head> tag:

<script src="https://js13kgames.com/webxr-src/aframe.js"></script>
<script src="https://js13kgames.com/webxr-src/babylon.js"></script>
<script src="https://js13kgames.com/webxr-src/three.js"></script>

You can download it and test locally, but remember to reference it correctly in your submission and don't include in the zip package. This JavaScript file alone is the only external resource you can use (default fonts that are automatically downloaded
by A-Frame itself are ok though).


Size limit and the libraries

All the official rules for the Desktop category apply except #3. The A-Frame, Babylon.js, or Three.js library is an extra JavaScript file in this category alone to be referenced as an external resource, and it's the only external resource that can be used in your entry (A-Frame's default fonts that are downloaded in the background are allowed).


The libraries available for you to use are up-to-date given the start of the competition, August 13th. A-Frame version 0.9.2 was taken from here, Babylon.js version 4.0.3 from here, and Three.js version r107 (with the WebVR helper accessible as THREE.WEBVR) from here. There's also an option you can use Three.js as a JavaScript module (instead of UMD) - you can include https://js13kgames.com/webxr-src/three.module.js instead (it contains r107 and WebVR helper as well).

A-Frame components

You can freely use A-Frame components if you fit them inside the package. Remember that some of them may try to download extra resources, which is not allowed, so you have to modify them for your use in the competition.

WebXR versus other categories

Given the specificity of this category, and that entries using the library for "free" have technological advantage over other entries, the WebXR category is treated as an entirely separate one. You can submit your game to any (or all) of the three classic categories (Desktop and/or Mobile and/or Server) OR to the WebXR category alone.

Submitting your entry

The standard submit form will soon be open. Remember to select the WebXR category as the only one from the available options. The A-Frame, Babylon.js, or Three.js libraries cannot be included in the zipped package, only linked to - the zip without it should be 13 kilobytes or less.

Dedicated judges

The judges in this category are here to focus on your entries. Every judge will try to vote for every entry submitted to the WebXR category, and provide constructive feedback - what was great and what could be improved.

Oculus Quest

Those are sponsored by Mozilla Mixed Reality team. Given the specificity of shipping hardware worldwide, and issues it may cause given various customs services around the world, this prize is not guaranteed. We will do our best to ship you the prize, but it may be limited to places where Oculus Quest may be officially shipped, and ⁄ or you may have to pay extra taxes or other costs of importing such device.


If You have any questions about this category feel free to contact us via e-mail: contact@js13kgames.com.
Other options include visiting our profiles on Twitter or Facebook, or joining our Slack channel.