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. Six years ago we’ve introduced a whole new category with the A-Frame framework, five years ago added Babylon.js as the second option, four years ago we've added Three.js to the mix, and two years ago 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 25 years Josh Marinacci has worked as developer advocate, designer, engineer and author. He has worked at such storied companies as Palm, Nokia, Sun, and Mozilla; and currently manager at industrial 3D printer company Markforged. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces. He lives in sunny Eugene Oregon with his son building crazy robots.

@joshmarinacci | joshondesign.com



10 × PlayCanvas account

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


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/2023/aframe.js"></script>
<script src="https://js13kgames.com/webxr-src/2023/babylon.js"></script>
<script src="https://js13kgames.com/webxr-src/2023/three.js"></script>
<script src="https://js13kgames.com/webxr-src/2023/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.4.2, Babylon.js version 6.16.0, Three.js version r155 (you can also use it as a Module), and PlayCanvas version 1.65.0.

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 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.