Enter VR


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

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

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


Fernando Serrano Garcia

Fernando Serrano Garcia

Software Engineer at Apple, previously worked at the Mozilla Mixed Reality team. Web, computer graphics and game development enthusiast.

@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. Formerly of Mozilla Mixed Reality team, currently working on Autonomous Vehicle Visualization. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces.

@joshmarinacci | joshondesign.com

Steven Yau

Steven Yau

An experienced games developer with over a decade’s worth of experience ranging from AAA console games, XR and F2P mobile games for some of the largest companies in the games industry. Currently working as an engineer at PlayCanvas.

@yaustar | stevenyau.co.uk



10 × PlayCanvas account

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

js13kGames 2021 t-shirt

15 × T-shirt

Fifteen unique 2021 t-shirts.


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

<script src="https://js13kgames.com/webxr-src/2021/aframe.js"></script>
<script src="https://js13kgames.com/webxr-src/2021/babylon.js"></script>
<script src="https://js13kgames.com/webxr-src/2021/three.js"></script>
<script src="https://js13kgames.com/webxr-src/2021/playcanvas.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/PlayCanvas 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, Three.js, or PlayCanvas 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', Three.js', and PlayCanvas' 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. Those are: A-Frame version 1.2.0, Babylon.js version 4.2.0, Three.js version r131, and PlayCanvas version 1.45.3.

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, though it might be difficult to judge those two aspects at once.

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, Three.js, or PlayCanvas 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.


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.