Developer Tips and Tricks

If you want to customize and extend the Arcade game experience, or just code you games for better performance, this page directs you to several topics with helpul tips and guidance.

Finding examples and documentation

There are a number of examples you can try out on the MakeCode Arcade homepage. We also have several courses in development that are located here. API reference docs are located here.

“JavaScript” == “TypeScript”

Despite the name shown in the MakeCode editor, our text language is actually a stricter subset of TypeScript. More information on what’s supported can be found in the language docs.

Source Control

The MakeCode editor stores all of your projects in browser’s local storage. The easiest way to back up a blocks project is to simply “download” it. For text projects, MakeCode has GitHub integration. Read more here.

MakeCode also supports “extensions” (libraries or packages) in projects, so it’s possible to split your project into multiple repositories or libraries. Find more information here.

Game Loop, Physics, and Rendering

Documentation on the core game loop, physics system, and rendering can be found here.

Music and Art

Documentation on how to import and use images in Arcade can be found here.

Documentation on how to create music and sound effects is here.

Controller Buttons

Use the button tester to verify the proper button assignents on your controller.

Getting Help

To get help, you can ask the MakeCode community at/on our public discord channel for arcade.

Bugs and Features

Please report all bugs and feature requests to pxt-arcade. If you would also like to submit a fix, feel free to open a pull request!

The arcade editor is located in pxt-arcade. The game engine and runtime code is in pxt-common-packages.

Most of the code related to Arcade can be found in the libs/game directory of that repo.