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. Three years ago we’ve introduced a whole new category with the A-Frame framework, two years ago added Babylon.js as the second option, and last year we've added 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!


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. Formerly of Mozilla Mixed Reality team, currently looking for new XR related employment. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces.

@joshmarinacci | joshondesign.com

Fernando Serrano Garcia

Fernando Serrano Garcia

Worked 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


Magic Leap

Magic Leap

One Magic Leap 1 device.


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 2020 t-shirt

15 × T-shirt

Fifteen unique 2020 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/2020/aframe.js"></script>
<script src="https://js13kgames.com/webxr-src/2020/babylon.js"></script>
<script src="https://js13kgames.com/webxr-src/2020/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, controls, etc that are automatically downloaded
by A-Frame/Babylon.js/Three.js 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, Babylon.js', and Three.js' default fonts, controls, or any other resources that are downloaded in the background by the library itself are allowed though).


The libraries available for you to use are up-to-date given the start of the competition, August 13th. A-Frame version 1.0.4 was taken from here, Babylon.js version 4.1.0 from here, and Three.js version r119 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/2020/three.module.js instead (it contains r119 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. You can, however, submit your entry to both WebXR and Web Monetization categories.

Submitting your entry

The standard submit form is used to send an entry to the competition. Remember to select the WebXR category as the 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.

Magic Leap

This device is 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 you might have to pay extra taxes or other costs of importing such device to your country.


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.