MakeCode Arcade Extensions

This is a list of MakeCode Arcade extensions forked from https://github.com/UnsignedArduino/Awesome-Arcade-Extensions.

Table of contents

Built-in extensions

These extensions are already built in to the editor, all you have to do is go to the toolbox, open the Advanced tab, click on Extensions, and click on the extension you want to import!

arcade-sprite-data

It’s local variables, but for sprites! Super useful for saving certain attributes of a sprite like the health of an enemy. This will add a section full of blocks called Data under the Sprites category in the toolbox.

Official docs | GitHub repo | Forum post

Timers

It’s literal multithreading! Setup a callback for your code or run it in a separate fiber (thread) with this extension! This will add another category in the toolbox called Timer.

Official docs | GitHub repo | Forum post

settings-blocks

Save data in an easy-to-use JSON-like format, now avaliable for the block users! This will add another category in the toolbox called settings.

Official docs | GitHub repo for block defs | GitHub repo for implementation | Forum post

Color Fading

Want some cool fade-in and fade-out effects for your cutscenes? Or want to change the default colors at runtime? This is the extension for you! This extension goes together nicely with the Story extension linked down below. This will add another category in the toolbox called Color.

Official docs | GitHub repo | Forum post

pxt-button-combos

A simple-to-use extension that allows you to have handlers when buttons are pressed in a certain order. Great for a dancing game! This extension adds a section called Combos in the Controller category.

Official docs | GitHub repo

arcade-minimap

Want a map for your tilemap? You’ve come to the right extension! This will take your tilemap and scale it down to a specified ratio - you can also add sprites that will be drawn on top of the map! This extension adds a new category called Minimap in the toolbox.

Official docs | GitHub repo | Forum post

arcade-grid

Have an extension do that hard work of aligning sprites to a tilemap! This will add a new category called Grid.

Official docs | GitHub repo | Forum post

arcade-storytelling

The new and improved arcade-story now part of the built-in extensions with new improvements! This will add a category called Story in the toolbox. Note the old story extension is not compatible at all with this one!

Official docs | GitHub repo | Forum post

Not built-in extensions

The following extensions, while just as good as the ones listed above, will require some slightly different steps while importing. First go to the toolbox, open the Advanced tab, click on Extensions, and you will see a text box that says Search or enter project URL.... This is where you will paste in the URL to the extension. The URL will be posted along with the listing.

character-animations

Import this extension with the URL:

https://github.com/riknoll/character-animations A version of the Animation extension but much more easier to handle if your sprites (Ex. main player) has a lot of different movements, like moving up, down, left, and right. The character-animations extension will automatically start and stop animations depending on what the player is doing. This will add another category in the toolbox called Character.

GitHub repo

arcade-tilemap-a-star

Import this extension with the URL:

https://github.com/jwunderl/arcade-tilemap-a-star Help your sprites find their way around your tilemaps with this extension! Just provide 2 locations on a tilemap and it will automagically compute the fastest path between the 2 spots while also moving around walls using the A* algorithm! This will add another section in the Scene category called Path Following in the toolbox.

GitHub repo | Forum post | Wikipedia article on the A* algorithm

arcade-custom-menu

Import this extension with the URL:

https://github.com/riknoll/arcade-custom-menu One of my favorite extensions, it allows you to make a menu out of a list of strings! Use this for selecting options where using game.askForNumber() and game.askForString() would be unintuitive or clumsy. This will add another category in the toolbox called BlockMenu.

GitHub repo

arcade-block-objects

Import this extension with the URL:

https://github.com/microsoft/arcade-block-objects Object-oriented programming is no doubt an important topic in prograaming. This extension will help you make objects in blocks! Attach all sorts of data to an object, like numbers, strings, images, sprites, locations, and more! This will add a category in the toolbox called BlockObject with 7 sub-categories.

GitHub repo

arcade-story

NOTE: This extension is depreciated! There is a new better extension under the same name but different repo that is now part of the built-in extensions! Check out the Forum post about it here. Import this extension with the URL: https://github.com/riknoll/arcade-story Need some cutscenes with dialog? This extension is for you! Comes with a variety of blocks designed to make writing stories and scenes much easier. This extension pairs great with the Color Fading extension linked above. This will add a new category called Story in the toolbox.

GitHub repo

arcade-sprite-util

Import this extension with the URL:

https://github.com/jwunderl/arcade-sprite-util As the name says, this extension has a bunch of utilities for sprites and more, especially anything dealing with trigonometry. This extension adds a new category called Sprite Utils in the toolbox.

GitHub repo | GitHub pages demo

arcade-image-text

Import this extension with the URL:

https://github.com/pelikhan/arcade-image-text Simple but sweet, this extension adds the very much-need blocks to print text onto images. This will add a new section called Text under the Images category in the toolbox.

Official docs | GitHub repo | Forum post

pxt-lantern

Import this extension with the URL

https://github.com/felixtsu/pxt-lantern Light up your games with this extension! It allows you to turn the lights on or off and add lanterns to sprites so that they have light around them when you turn the lights off. This will add 2 categories called Lantern and Multilights under the toolbox.

GitHub repo | GitHub pages demo* | Forum post

*Note that the GitHub pages demo only demonstrates the original features of the lantern extension written by @riknoll here. A more up-to-date example can be found here.

pxt-rtttl

Import this extension with the URL:

https://github.com/pelikhan/pxt-rtttl Play beautiful melodies encoded in the RTTTL language in MakeCode with this extension! You can use this website to turn yoru .mid and .midi files into a RTTTL-compatible string of text! This extension adds a block in the Melody section in the Music category in the toolbox.

GitHub repo | GitHub pages demo | Forum post | MIDI to RTTTL converter

arcade-shader

Import this extension with the URL:

https://github.com/riknoll/arcade-shader Arcade games can get more realistic with shadows! This extension will add a category called Shaders in the toolbox.

GitHub repo | Forum post

small-tilemaps

NOTE: This extension is depreciated! There is now an 8x8 tilemap block in the built-in tilemaps extension! Import this extension with the URL: https://github.com/riknoll/small-tilemaps Easy access to an 8x8 tilemap in blocks! Note: If you are switching from an 16x16 to an 8x8 tilemap, don’t forget to switch tiles in your code! And delete the 16x16 tiles in the tilemap editor, otherwise you are going to get really confused. This will add a block under Tiles section in the Scene category.

GitHub repo | Forum post

Fast-Random-Blocks

Import this extension with the URL:

https://github.com/UnsignedArduino/Fast-Random-Blocks Blocks for Fast Random! Have separate RNG objects for different aspects of your game, and with seeding! This will add a Random category in the toolbox.

GitHub repo | Forum post

pxt-arcade-image-transform

Import this extension with the URL:

https://github.com/robo-technical-group/pxt-arcade-image-transform Rotate images with this extension! This works best with large images. Don’t forget to enlarge the base image so when it rotates it has enough room to spin! This will add a Sprite Transforms category in the Advanced section of the toolbox.

GitHub repo | Example | Forum post

pxt-password-save

Import this extension with the URL:

https://github.com/jacobcarpenter/pxt-password-save Shove bytes and bools into a string as a save code! Note: This extensions seems to still be in beta (as of January 30, 2021) as importing the extension causes the example code to run instead of your own. This will add a category in the toolbox called Password Save.

GitHub repo | GitHub pages demo | Forum post

pxt-scaling

Import this extension with the URL:

https://github.com/jwunderl/pxt-scaling Like pxt-arcade-image-transform, this also allows you to rotate images and scale them too!!! Much better than manually doing it, at the expense of RAM. This extension adds a category called Scaling in the toolbox.

GitHub repo | GitHub pages demo | Forum post

notifications

Import this extension with the URL:

https://github.com/unsignedarduino/notifications Shows and scrolls notifications like a sprite-say dialog but s c r e t c h e d out! It also supports variable speed and 8x8 icons! (Although it doesn’t push notifications down when you display more than one at a time - you need to wait until the current notification is over otherwise you will cover it up - but there are blocks to wait for the notification to finish) This adds a category called Notification.

GitHub repo | GitHub pages demo* | Forum post

*Note that the GitHub pages demo was generated a long time ago so you won’t be able to see the code in main.ts or test.ts but the notification still looks the same.

Achievements

Import this extension with the URL:

https://github.com/UnsignedArduino/Achievements Your games can ascend to a new level with freaking achievements in MakeCode Arcade! Easily track and display achievements with this extension! This will add a category called Achievements in the toolbox.

GitHub repo | Demo | Forum post

pxt-countup

Import this extension with the URL:

https://github.com/shakao/pxt-countup Stop hacking the built-in countdown in your code - it’s ugly! Instead, use this extension which does the same thing for you in a nice little extension! This adds a section called Countup in the Info category.

GitHub repo | Demo | Forum post

pxt-sight

Import this extension with the URL:

https://github.com/felixtsu/pxt-sight Inteligent sight now comes to your sprites in MakeCode Arcade! This extension can help you detect whether one sprite can “see” another sprite with some math! (Much better than sending “see” sprites everywhere) This adds a section called Sprite Sight in the toolbox.

GitHub repo | Demo | Forum post

smaller-tilemaps

Import this extension with the URL:

https://github.com/riknoll/smaller-tilemaps Now we get 4x4, 2x2, and “1x1, at your own risk” tilemaps! Initialize a tilemap and use 4x4 or 2x2 or 1x1 images to manually draw your tiles by code. Note this extension was made in 1 hour so it may be buggy and performance will not be as good as a 8x8 or 16x16 tilemap. This will add a Smaller Tilemaps category.

GitHub repo

arcade-background-scroll

NOTE: This extension is depreciated! There is a new better extension under the same name but different repo that is now part of the built-in extensions! Import this extension with the URL: https://github.com/riknoll/arcade-background-scroll Don’t use a sprite to manually scroll the background - use this extension instead! It can scroll your background in with variable vx and vy too! This will add a Scroller category in the toolbox.

GitHub repo

pxt-image-morph

Import this extension with the URL:

https://github.com/UnicycleDumpTruck/pxt-image-morph “Morph” images in MakeCode Arcade! Very cool for switching between images and could be used in say, the reveal of a bad guy’s true form! Also very fun for switching between images that are used as instructions instead of a snap change which is boring. This adds an Imagemorph category in the toolbox.

GitHub repo | Demo | Forum post

grafxkid-tiles

Import this extension with the URL:

https://github.com/riknoll/grafxkid-tiles Don’t want to draw up a platformer tileset? @logic_lab on the MakeCode Forums has converted GrafxKid’s tileset into MakeCode tiles so you can use them as well! Comes in 4 different seasons and adds 4 new dropdown categorys in the tile category picker in the tilemap editor.

GitHub repo | Forum post

Inventory

Import this extension with the URL:

https://github.com/UnsignedArduino/Inventory Man, rendering inventories are a pain in the butt. Until you add this extension! This extension allows you to make items, (which can hold an image, a name, and more) toolbars, (like Minecraft hotbars) and inventories! This extension adds an Inventory category in the toolbox.

GitHub repo | Demo | Forum post

Stats

Import this extension with the URL:

https://github.com/UnsignedArduino/Stats The only reason this extension exists so you can programmatically turn the FPS and sprite count on and off lol. This adds a Stats category to your toolbox.

GitHub repo | Forum post

pxt-real-multiplayer

Import this extension with the URL:

https://github.com/distintiva/pxt-real-multiplayer Makes coding multiplayer games over JACDAC easier! It also works in the simulator as well! Note at the time of writing, JACDAC for Arcade is in the middle of a rewrite so things are most likely broken. This will add a Real Multiplayer category to the toolbox.

GitHub repo | Demo | Forum post

pxt-arcade-database

Import this extension with the URL:

https://github.com/distintiva/pxt-arcade-database Extremely similar to the built-in settings-block extension, this extension also allows you to save data like a database! This will add a Database category.

GitHub repo | Demo | Forum post

TilemapPath

Import this extension with the URL:

https://github.com/UnsignedArduino/TilemapPath Don’t manually place walls to make your A-star paths do what you want, use this! You can set a sprite to follow a path between tilemap locations and have handlers when they finish. Note that everytime you set a path, it will recalculate the paths using the A-star extension which can take a long time depending on how big the tilemap is and how many elements there are. This extension adds a TilemapPath category.

GitHub repo | Demo | Forum post

arcade-premium-life

Import this extension with the URL:

https://github.com/jwunderl/arcade-premium-life It’s life but better. This extension uses the default set life and change life by blocks to change the values, but for configuring the look you can use the blocks in the Profile Life category.

GitHub repo | Demo

ColorBlock

Import this extension with the URL:

https://github.com/UnsignedArduino/ColorBlock Imagine memorizing the values of colors in MakeCode Arcade. This extension will add a block at the very bottom of the Images category.

GitHub | Forum post

arcade-camera-offset

Import this extension with the URL:

https://github.com/riknoll/arcade-camera-offset This simple extension adds a block to the Scene category that allows you to follow a sprite with the camera with an offset! Much better then hacking a sprite to always be off a certain amount.

GitHub repo | Forum post

RPGMuisic

Import this extension with the URL:

https://github.com/LucasMayhew/RPGMuisic This extension adds another category called Music which contains a block to play some (very nice) looping music made by @LucasMayhew!

GitHub repo | Demo | Forum post

Experimental-extensions

Shouldn’t need an explanation: “VERY UNSTABLE” - @livcheerful

arcade-soundtrack

Import this extension with the URL:

https://github.com/livcheerful/arcade-soundtrack In this extension you can make soundtracks within images! But it is pretty confusing and “might break your game.” This extension was made by @livcheerful in a hackathon.

GitHub | Forum post | Demo

Tools

Yes, this is about useful MakeCode Arcade extensions but these tools will level up your game-making experience!

Convert-Image-to-MakeCode-Arcade-Sprite

This tool will convert your images (like .png files) to Arcade code! Simply copy the output, open JavaScript mode in your project, navigate to where you want the image block to go, and paste in the image code! You may need to remove some redundant characters. Remember that Arcade has a maximum image size of 500x500!

Find this tool here:

https://kristianpedersen.github.io/Convert-Image-to-MakeCode-Arcade-Sprite/ GitHub repo | Forum post

pxt-arcade-asset-tool

This tool will also convert you images to Arcade code, but it also supports using 16-color palettes, in case you don’t want to use the default palette! Simply copy the output, open JavaScript mode, navigate to where you want the image to go, and paste away! You may need to remove some redundant characters. Remember that Arcade has a maximum image size of 500x500!

Find this tool here:

https://riknoll.github.io/pxt-arcade-asset-tool/ GitHub repo

arcade-sprite-pack

Have a bunch of images you want to send to someone, but they hate exercising their pinkie and pointer finger? This will convert a set of images into a MakeCode project that, when you import, will put the images into the image gallery!

Find this tool here:

https://shakao.github.io/arcade-sprite-pack/ GitHub repo

arcade-image-tools

The ultimate Arcade image manipulator! Rotate and flip your sprites with this!

Find this tool here:

https://felixtsu.github.io/arcade-image-tools/ GitHub repo | Forum post

arcade-font-renderer

Stop drawing your title screen text by hand! With this tool, you can render any (well, any font on your computer and in Google Fonts) font onto a Arcade image with outlines and shadows!

Find this tool here:

https://arcade-font-renderer.jacobcarpenter.com/ GitHub repo | Forum post