MakeCode Arcade BlockIDs

MakeCode Arcade — Toolbox Filter Reference
ARCADE · Toolbox Filter Reference categories & block IDs for pxt.json > toolboxFilter

Find the right namespace and block ID

Every toolbox category and block in MakeCode Arcade, pulled from microsoft/pxt-common-packages and microsoft/pxt-arcade, plus the built-in categories from microsoft/pxt. Click any namespace or block ID to copy it, then drop it into your toolboxFilter.

13Core categories
589Block IDs
27Extensions
Core game categories — shown in a default Arcade project

Sprites

Core32 blocks
Block IDBlock
array of sprites of kind %kind=spritekind
clear effects on %anchor=variables_get(mySprite)
set %sprite(myEnemy) follow %target=variables_get(mySprite) with speed %speed
set $this unfollow
change %sprite(mySprite) scale by $value anchor $anchor
set %sprite(mySprite) scale to $value anchor $anchor
destroy %sprite(mySprite) with %effect effect for %duration ms
destroy $sprite with $effect effect for $duration ms
%sprite(mySprite) kind
%sprite(mySprite) image
$kind
%sprite(mySprite) overlaps with %other=variables_get(otherSprite)
destroy all sprites of kind $kind with $effect effect for $duration ms
%sprite(mySprite) say %text for %millis ms
$this say $text for $timeOnScreen ms with animation $animated
sprite %img=screen_image_picker of kind %kind=spritekind
sprite %img=screen_image_picker of kind %kind=spritekind
projectile %img=screen_image_picker vx %vx vy %vy of kind %kind=spritekind from sprite %sprite=variables_get(mySprite)
projectile %img=screen_image_picker from side with vx %vx vy %vy
projectile %img=screen_image_picker from %sprite=variables_get(mySprite) with vx %vx vy %vy
set %sprite(mySprite) image to %img=screen_image_picker
set %sprite(mySprite) kind to %kind
set %sprite(mySprite) position to x %x y %y
set %sprite(mySprite) bounce on wall %on=toggleOnOff
set %sprite(mySprite) %flag %on=toggleOnOff
set %sprite(mySprite) stay in screen %on=toggleOnOff
set %sprite(mySprite) velocity to vx %vx vy %vy
on created $sprite of kind $kind=spritekind
on destroyed $sprite of kind $kind=spritekind
on $sprite of kind $kind=spritekind overlaps $otherSprite of kind $otherKind=spritekind
$kind
%sprite(mySprite) start %effect effect for %duration=timePicker ms

Controller

Core22 blocks
Block IDBlock
crank position
set crank pinA $pinA pin B $pinB
start light animation %animation=light_animation_picker for %duration=timePicker ms
acceleration (mg) %NAME
%controller dx (left-right buttons) scaled by %step
%controller dy (up-down buttons) scaled by %step
%controller move $sprite=variables_get(mySprite) with buttons vx $vx vy $vy
is %controller %button **button** pressed
light level
start light pulse %rgb=colorNumberPicker for %duration=timePicker ms
on %controller %button **button** %event
on %controller %event
on %NAME
on light %condition
temperature in %unit
vibrate $millis ms
move $sprite=variables_get(mySprite) with buttons vx $vx vy $vy
dx (left-right buttons) scaled by %step
dy (up-down buttons) scaled by %step
is %button **button** pressed
on %button **button** %event
set button repeat delay $delay ms interval $interval ms

Game

Core18 blocks
Block IDBlock
reset game
time since start (ms)
game over %win=toggleWinLose with %effect effect
game over $win
splash %title %subtitle
set dialog cursor to %frame=screen_image_picker
set dialog frame to %frame=dialog_image_picker
set dialog text color to %color=colorindexpicker
use effect $effect for $win
use message $message for $win
use $sound looping $looping for $win
use $type as best score
show long text %str %layout
ask %title %subtitle
ask for number $message and max length $answerLength use on-screen keyboard $useOnScreenKeyboard
ask for string $message and max length $answerLength use on-screen keyboard $useOnScreenKeyboard
on game update every %period=timePicker ms
on game update

Scene

Core43 blocks
Block IDBlock
camera follow sprite %sprite=variables_get(mySprite)
camera left
center camera at x %x y %y
camera $property
camera shake by %amplitude pixels for %duration ms
camera top
background color
background image
tile col %col row %row
array of all %index=colorindexpicker tiles
place %sprite=variables_get(mySprite) on top of random $color tile
on top of %tile(myTile) place %sprite=variables_get(mySprite)
set background color to %color=colorindexpicker
set background image to %img=background_image_picker
set tile %index=colorindexpicker to %img=tile_image_picker with wall %wall=toggleOnOff
set %tile=gamegettile to %index=colorindexpicker
set tile map to %map=tilemap_image_picker with %scale pixel tiles
on top of %tile=variables_get(myTile) place %sprite=variables_get(mySprite)
%sprite=variables_get(mySprite) wall hit on %direction
tilemap col $col row $row
array of all $tile locations
tile at $location is $tile
place $sprite=variables_get(mySprite) on top of random $tile
place $sprite=variables_get(mySprite) on top of $loc
set $tile at $loc=mapgettile
set wall $on at $loc
end screen %effect effect
start screen %effect effect for %duration ms
screen height
screen width
set tilemap to $tilemap
is %sprite(mySprite) hitting wall %direction
%sprite(mySprite) wall hit on %direction
on $sprite of kind $kind=spritekind overlaps $tile at $location
on $sprite of kind $kind=spritekind hits wall at $location
on $sprite of kind $kind=spritekind hits wall $tile=colorindexpicker
tile to $direction of $this(mySprite) is $tile
set tilemap to $tilemap
tile image at $location
tilemap location of $this
tile at $location is wall
tilemap $tilemap
%tile

Info

Core22 blocks
Block IDBlock
change countdown by $seconds (s)
start countdown %duration (s)
on countdown end
countdown
on life zero
on score $score
stop countdown
high score
change life by %value
change score by %value
life
score
set life to %value
set score to %value
change %player life by %value
change %player score by %value
%player has life
%player score
set %player life to %value
set %player score to %value
on %player life zero
on $this score $score

Music

Core29 blocks
Block IDBlock
%fraction beat
change tempo by %value (bpm)
%note
set tempo to %value (bpm)
tempo (bpm)
$melody
loop sound %sound
play tone at %note=device_note for %duration=device_beat
play sound %sound
play sound %sound until done
stop sound %sound
sound $melody
play tone at %note=device_note for %duration=device_beat
play sound %sound=music_sounds
play sound %sound=music_sounds until done
play $toPlay $playbackMode
rest for %duration=device_beat
ring tone at %note=device_note
set tone %buffer
song $song
%name
stop all sounds
melody $melody at tempo $tempo (bpm)
tone $note for $duration
play melody $melody at tempo $tempo (bpm)
$waveShape start frequency $startFrequency end frequency $endFrequency duration $duration start volume $startVolume end volume $endVolume effect $effect interpolation $interpolation
randomize $sound
play sound $sound $mode
set volume %volume

Animation

Core10 blocks
Block IDBlock
%arg
add frame $frame=screen_image_picker to $this=variables_get(anim)
%frames
path %pathString
attach animation $set=variables_get(anim) to sprite $sprite=variables_get(mySprite)
create animation of $action=action_enum_shim with interval $interval ms
animate $sprite=variables_get(mySprite) frames $frames=animation_editor interval (ms) $frameInterval=timePicker loop $loop=toggleOnOff
animate $sprite=variables_get(mySprite) with $pathString=animation_path for (ms) $duration=timePicker loop $loop=toggleOnOff
activate animation $action=action_enum_shim on $sprite=variables_get(mySprite)
stop %type animations on %sprite=variables_get(mySprite)

Multiplayer

Core21 blocks
Block IDBlock
array of all players
change $player $state by $delta
game over $player wins
player at $index
player $number
$sprite player
$player $prop
$player sprite
$player $state
is $player $button button pressed
$player connected
move $player with buttons vx $vx vy $vy
$kind
on $button button $event for $player
on $player $event
on life zero for $player
on score $score for $player
player $number
set player indicators $visible
set $player sprite to $sprite
set $player $state to $value

Images

CoreAdvanced11 blocks
Block IDBlock
%img
%index
%img
$this draw $from at x $x y $y
$picture $dimension
$image
screen
%index
%img
%img
%img

Control

CoreAdvanced17 blocks
Block IDBlock
assert %cond with value %code
device dal version
device long serial number
device serial number
on event from %src with value %value
panic %code
raise event from %src with value %value
reset
run in background
run in parallel
millis (ms)
wait for event from %src with value %value
wait (µs)%micros
%timer millis
%timer pause until (ms) %ms
%timer reset
%timer seconds

Console

CoreAdvanced2 blocks
Block IDBlock
console log $value
console log value %name = %value

Tiles

Core1 blocks
Block IDBlock
tilemap location $direction of $this

Color

CoreAdvanced4 blocks
Block IDBlock
%color
fade %color=neopixel_colors by %brightness
hue %hue sat %sat val %val
red %red green %green blue %blue
Built-in categories — from microsoft/pxt core

Loops

Built-in6 blocks
Block IDBlock
repeat _ times
while _
for index 0 to _
for element of _
for index 0 to _ (alt)
for element of _ (alt)

Logic

Built-in5 blocks
Block IDBlock
if / else if / else
_ = _ comparison
_ and/or _
not _
true / false

Math

Built-in12 blocks
Block IDBlock
numeric literal (shadow)
_ + _
remainder of _ / _
min/max of _ and _
absolute value of _
sqrt/sin/cos/…
round/ceil/floor/trunc
constrain %value between %low and %high
map %value from low %fromLow high %fromHigh to low %toLow high %toHigh
%percentage % chance
pick random %min to %limit
pick random %min to %limit

Variables

Built-in4 blocks
Block IDBlock
variable (get)
reporter get
set _ to _
change _ by _

Arrays

Built-inAdvanced17 blocks
Block IDBlock
create array with…
array get at index
array set at index
length of array
%list add value %value to end
get and remove last value from %list
reverse %list
get and remove first value from %list
%list insert %value at beginning
%list get and remove value at %index
%list insert at %index value %value
%list find index of %value
get random value from %list
%list insert %value at beginning
remove last value from %list
remove first value from %list
%list remove value at %index

Text

Built-inAdvanced15 blocks
Block IDBlock
string literal (shadow)
join strings
length of string
string_concat
char from %this=text at %pos
char code from $this=text at $index
compare %this=text to %that
substring of $this from $start of length $length
%this=text is empty
%this=text find index of %searchValue
%this=text includes %searchValue
split %this=text at %separator
substring of %this=text from %start of length %length
parse to number %text
text from char code %code

Functions

Built-inAdvanced3 blocks
Block IDBlock
define function
call function
return value
Optional extensions — only appear after the extension is added to the project

These categories aren’t in a blank project. A filter entry for them only matters once the matching extension is added — but the namespace/block IDs work the same way when it is.

Browser Events

Extension11 blocks
Block IDBlock
is $this key pressed
on $this key $event
pause until $this key is $event
is $this mouse button pressed
on $this mouse button $event $x $y
pause until $this mouse button is $event
on browser event $event
on mouse move $x $y
on mouse wheel $dx $dy $dz
set cursor visible $visible
set keyboard repeat delay $delay ms interval $interval ms

Corgio

Extension8 blocks
Block IDBlock
teach %corgio(myCorg) the word %input
make %corgio(myCorg) bark!
%corgio(myCorg) sprite
corgi of kind %kind=spritekind at x %x y %y
make camera follow %corgio(myCorg) left and right %on=toggleOnOff
make %corgio(myCorg) move left and right with arrow keys %on=toggleOnOff
change image when %corgio(myCorg) is moving %on=toggleOnOff
make %corgio(myCorg) jump if up arrow key is pressed %on=toggleOnOff

Darts

Extension7 blocks
Block IDBlock
control %dart(myDart) with arrow keys %on=toggleOnOff
%dart(myDart) sprite
dart %img=screen_image_picker of kind %kind=spritekind at x %x y %y
trace %dart(myDart) path estimate %on=toggleOnOff
stop %dart(myDart)
throw %dart(myDart)
change %dart(myDart) background to image %img=background_image_picker

Data Logger

Extension6 blocks
Block IDBlock
data logger add row
data logger add %name =%value
data logger to console $enabled
data logger $enabled
data logger set separator $separator
set data logger sampling interval to $millis (ms)

Display

Extension7 blocks
Block IDBlock
clear display
show console
show image %image=image_picker
show number %name at line %line
show string %text at line %line
show value %name : %text at line %line
graph %value

Rotary Encoder

Extension2 blocks
Block IDBlock
on %this changed
%this position

Gamepad

Extension4 blocks
Block IDBlock
gamepad %index move by x %x y %y
gamepad set throttle %index to %value
gamepad button %index=joystickStandardButton %down=toggleDownUp
%button

Input

Extension24 blocks
Block IDBlock
on %button %event
%button is pressed
%button was pressed
acceleration (mg) %NAME
on %NAME
light level
rotation (°) %NAME
sound level
on switch moved %direction
set accelerometer range %range
switch right
temperature in %unit
on light %condition
on loud sound
on temperature %condition at %temperature %unit
set loud sound threshold %value
set %condition light threshold to %value
distance
light $range spectrum
light color
button %button calibrate
button %button set threshold %threshold
button %button threshold
button %button value

Keyboard

Extension6 blocks
Block IDBlock
keyboard clear all
keyboard function %key %event
keyboard media %key %event
keyboard modifier %key %event
keyboard key %key %event
keyboard type $text with $modifiers

LCD

Extension7 blocks
Block IDBlock
lcd clear
lcd set blink %enabled
lcd set curcor %enabled
lcd set display %enabled
lcd show number %value at line %line
lcd show string %text at line %line
lcd show value %name: %text at line %line

Light

ExtensionAdvanced76 blocks
Block IDBlock
photon set position %index
photon forward by %steps
photon flip
photon set pen hue %hue=colorWheelHsvPicker
photon %mode
clear
pixel color at %pixeloffset
set brightness %brightness
set pixel color at %pixeloffset to %rgb=colorNumberPicker
set all pixels to %rgb=colorNumberPicker
show animation %animation=light_animation_picker for %duration=timePicker ms
show frame of %animation=light_animation_picker animation
graph %value up to %high
stop all animations
set gradient from %startRgb=colorNumberPicker to %endRgb=colorNumberPicker
%pixels
%kind
%animation
%strip clear
create APA102 strip data %data clock %clk with %numleds pixels
%strip brightness
%strip pixel color at %pixeloffset
%strip length
%strip %kind=MoveKind by %offset
%strip photon forward by %steps
%strip photon flip
%strip=variables_get photon set pen color %color=colorNumberPicker
%strip=variables_get photon set pen hue %hue=colorWheelHsvPicker
%strip photon %mode
%strip photon set position %index
%strip range from %start with %length pixels
set %strip brightness %brightness
set %strip buffered %on
set %strip length to %length pixels
set %strip mode to %mode
set %strip pixel color at %pixeloffset to %rgb=colorNumberPicker
set %strip pixel white LED at %pixeloffset to %white
set %strip all pixels to %rgb=colorNumberPicker
%strip show
%strip show animation %animation=light_animation_picker for %duration=timePicker ms
%strip show frame of %animation=light_animation_picker animation
%strip graph %value up to %high
%strip stop all animations
set pixels length to %numleds pixels
set default strip mode to %mode
set %strip gradient from %startColor=colorNumberPicker to %endColor=colorNumberPicker
range from %start with %length pixels
photon forward by %steps
photon flip
photon set pen color %color
photon %mode
clear
%color
create WS2812 strip pin %pin with %numleds pixels
create WS2812 strip on %pin with %numleds pixels
default strip
fade %color=neopixel_colors by %brightness
brightness
pixel color at %pixeloffset
hue %hue sat %sat val %val
length
%kind=MoveKind by %offset
onboard strip
range from %start with %length pixels
red %red green %green blue %blue
set brightness %brightness
set buffered %on
set mode %mode
set pixel color at %pixeloffset to %rgb=colorNumberPicker
set pixel white LED at %pixeloffset to %white
set all pixels to %rgb=colorNumberPicker
show
show %animation=light_animation animation for %duration=timePicker ms
show animation frame %animation=light_animation
graph %value up to %high
stop all animations

LoRa

Extension20 blocks
Block IDBlock
lora available
lora is ready
lora idle
lora packet RSSI
lora packet SNR
lora parse packet %size
lora peek
lora read
lora read buffer
lora read string
lora send buffer $buffer
lora send string $text
lora set crc $on
lora set frequency to $frequency
set signal bandwidth to $value
lora set spreading factor $factor
lora set tx power to $level dBm
signal bandwidth
lora sleep
lora spreading factor

Matrix Keypad

Extension4 blocks
Block IDBlock
columns
is keypad %keypad button pressed at x %x y %y
on keypad %keypad button at x %x y %y %ev
rows

Mouse

Extension4 blocks
Block IDBlock
mouse click button $button
mouse move x %x y %y
mouse button %index %down=toggleDownUp
mouse turn wheel %w

Net

ExtensionAdvanced3 blocks
Block IDBlock
get json $url
get string $url
net ping $dest

Network

Extension6 blocks
Block IDBlock
on cable received
cable send number %value
on infrared received
on infrared received
infrared send number %value
on cable received

Pins

ExtensionAdvanced20 blocks
Block IDBlock
analog read pin %name
digital read pin %name
analog set period pin %pin to (µs)%period
analog write pin %name to %value
digital write pin %name to %value=toggleHighLow
set pull pin %pin to %pull
servo write pin %name to %value=protractorPicker
servo set pulse pin %value to (µs) %duration
i2c read register at address $address at register $register
i2c write number at address %address with value %value of format %format repeated %repeated
i2c write register at address $address at register $register value $value
i2c read number at address %address of format %format repeated %repeated
on pin %pin pulsed %pulse
pulse duration (µs)
pulse in (µs) pin %name pulsed %high timeout %maxDuration (µs)
on pin %pin %event
spi frequency %frequency
spi mode %mode
spi transfer %command into %response
spi write %value

Pixel

Extension6 blocks
Block IDBlock
%color
fade %color=pixel_colors by %brightness
hue %hue sat %sat val %val
red %red green %green blue %blue
set brightness %brightness
set pixel color %rgb=colorNumberPicker

Power

ExtensionAdvanced4 blocks
Block IDBlock
power check deep sleep
power deep sleep
power poke
power set deep sleep timeout to %seconds s

Radio

Extension18 blocks
Block IDBlock
radio send $msg
$msg
on radio $msg received
radio raise event from source %src=control_event_source_id with value %value=control_event_value_id
radio on data received
radio send number %value
radio send string %msg
radio send value %name = %value
on radio received
on radio received
on radio received
on radio received
%note
received packet %type=radio_packet_property
radio set frequency band %band
radio set group %ID
radio set transmit power %power
radio set transmit serial number %transmit

Sprite Scaling

Extension4 blocks
Block IDBlock
change $sprite=variables_get(mySprite) scale by $value percent $direction anchor $anchor
change $sprite=variables_get(mySprite) scale by $value pixels $direction anchor $anchor proportional $proportional
set $sprite=variables_get(mySprite) scale to $value percent $direction anchor $anchor
set $sprite=variables_get(mySprite) scale to $value pixels $direction anchor $anchor proportional $proportional

Serial

ExtensionAdvanced17 blocks
Block IDBlock
%del
serial on delimiter $delimiter received
serial on %event
serial read buffer
serial read line
serial read string
serial read until %delimiter=serial_delimiter_conv
serial redirect to TX %tx RX %rx at rate %rate
serial set baud rate %rate
serial write buffer %buffer
serial write line %text
serial write number %value
serial write string %text
serial write value %name = %value
serial attach to console
serial set rx buffer size to $size
serial set tx buffer size to $size

Servos

Extension6 blocks
Block IDBlock
continuous %servo run at %speed=speedPicker %
set %servo angle to %degrees=protractorPicker °
set %servo pulse to %micros μs
stop %servo
set %servo range from %minAngle to %maxAngle
set %servo stop on neutral %enabled

7-Segment

Extension7 blocks
Block IDBlock
seven segment digit of %thickness with value %value
counter of %thickness segments at %scale size with %numDigits digits
set %sevenseg(myDigit) display value to %alphaChar
set %sevenseg(myDigit) display color to %color=colorindexpicker
set %sevenseg(myCounter) display color to %color=colorindexpicker
set %sevenseg(myDigit) to %scale size
set display radix of %sevenseg(myDigit) to %radix

Storage

ExtensionAdvanced7 blocks
Block IDBlock
append file $filename with $data
append file $filename with line $data
file $filename exists
overwrite file $filename with $data
read file $filename
remove file $filename
size of file $filename

Storyboard

Extension5 blocks
Block IDBlock
storyboard pop frame
storyboard push scene $name
storyboard register %boot boot sequence
storyboard replace scene $name
storyboard start at $name

Text to Speech

Extension6 blocks
Block IDBlock
cancel speech
is speech paused
on word spoken from $fullText at $offset with $nextWord
pause speech
resume speech
speak $text with volume $volume pitch $pitch rate $rate language $language
No blocks match that search.

Using these in pxt.json

Add a toolboxFilter object to your project’s pxt.json. It reads two keys — namespaces (whole categories) and blocks (individual block IDs).

"visible"
Shown normally.
"hidden"
Removed from the toolbox.
"disabled"
Shown but greyed-out.
"toolboxFilter": {
  "namespaces": {
    "scene": "hidden",
    "info": "hidden",
    "music": "hidden"
  },
  "blocks": {
    "spritescreate": "visible",
    "gamecontrolleronevent": "hidden"
  }
}

Good to know

• A block-level setting overrides the category default for that one block; hiding a namespace removes the whole category.
• An unrecognized value (a typo like "hiden") is silently ignored, leaving the block visible.
• There is no defaultState in pxt.json — list what you want hidden explicitly rather than allow-listing.
• Save it as valid JSON: no // comments and no trailing commas, or the file may fail to parse.
• Optional-extension categories only render once that extension is in the project; the filter applies whenever they’re present.

Copied