Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Scratch Everywhere Wii U

From GameBrew
Revision as of 00:59, 17 April 2026 by HydeWing (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Scratch Everywhere Wii U
General
AuthorNateXS
TypeOther Apps
Version0.39.1
LicenseLGPL-3.0
Last Updated2026/04/14
Links
Download
Website
Source

Scratch Everywhere! is a work-in-progress runtime written in C++ that lets you run Scratch 3 projects. Initially developed for the 3DS, it now supports a number of 6-8th generation consoles including Wii, Wii U, NDS, PSP, Vita, Switch and PS4.

Features

  • Many Scratch projects playable out of the box.
  • Custom blocks exclusive to Scratch Everywhere.
  • Mouse input - Mapped to the Wii U GamePad touchscreen.
  • Screen modes - Currently projects display identically on both the TV and GamePad.
  • Framerate - When using a modded Scratch client like TurboWarp, you can enable the 60 FPS (Custom FPS) advanced option, and change the FPS to any value.
  • Audio - A sound may take time to load if playing it for the first time.
    • If you play any sound from the Stage, the sound will play as a Streamed Sound and will not need to load.
    • Only one Streamed Sound can be playing at a time, so this is good for things like background music.

Installation

Download the scratch-wiiu.zip file from the Releases page.

Unzip to sdcard:/wiiu/apps/ on your SD card.

Place Scratch projects in sdcard:/wiiu/scratch-wiiu/ folder.

Launch Scratch Everywhere! from the Wii U menu or Homebrew Launcher.

See readme for controls.

SE! Project Settings

Change Controls

  • Allows you to change the default controls of a project to your liking.

Unpack Project

  • Allows you to unzip a project and run it in its unzipped state.
  • An unzipped project is displayed as a yellow box with a lightning icon.
  • Unzipping a project has the benefit of not needing the full project and its assets stored in RAM, which is useful depending on the device.
  • Note: you will have to unzip the project every time you make changes to it.

[3DS, NDS] Bottom Screen Only Mode

  • Off by default.
  • Makes a project use the bottom screen instead of the top screen.

Pen Mode

  • Options: FastAccurate.
  • Fast by default.
  • Setting it to Accurate gives the Scratch-Accurate pen look.
  • Setting it to Fast can give a significant improvement to Pen performance, at the cost of pen lines being rectangular instead of circular.

Collision Mode

  • Options: FastAccurate.
  • Accurate by default on all platforms except for NDS.
  • Setting it to Accurate gives the touching ___ block Scratch-Accurate bitmask collision.
  • Setting it to Fast gives the touching ___ block simple rectangle collision, which gives a significant improvement to performance at the cost of accuracy.

Show FPS

  • Off by default.
  • Turning this on shows debug Monitors, giving you FPS and Frametime information.

Keep Project In RAM

  • On by default on all platforms except for NDS, PSP and GameCube.
  • Similar to the Unpack Project setting, turning this off has the benefit of not needing the full project and its assets stored in RAM.
  • Turning this off will make assets take longer to load.

Limitations

  • Most Extensions (e.g. music extension) are not yet supported.
  • Only the Pen, Text to Speech (Wii U, 3DS, Linux, and Windows only), and Makey Makey extensions are currently supported.
  • Some blocks may lead to crashing/unintended behavior (Please open an issue if you know of a block that's causing problems).
  • Performance is poor when using many (~50+) clones (memory management issue).
  • [Switch, PSP, Vita, PS4] Cloud Variables aren't currently supported, but likely will be in the future.
  • [Wii, Wii U, GameCube, Switch] The first controller connected will be the only one that will work.
  • [Wii, GameCube] Cloud Variables will not be supported.
  • [GameCube, NDS, PSP] These platforms have very little memory, so try to keep projects small.
  • [NDS] Dual screen mode will not be supported.
  • [PSP] Images cannot be over 512x512.
  • [Vita] Back touch will not be supported.
  • [PS4] The software keyboard isn't currently supported.

Media

Porting Scratch to the 3DS (NateXS)

Changelog

Beta Build 39.1

  • Runtime Changes
    • Fix audio not working on some devices (Windows, GameCube, etc)
    • Fix audio not working when Keep Project In RAM is turned off

Beta Build 39

  • Runtime Changes
    • Complete Runtime Rewrite! (Via PR #583)
      • @Br0tcraft has been working for months to almost completely rewrite the way Scripts in SE! are run, which now more closely resembles Scratch's Thread architecture!
      • The rewrite fixes many bugs (#500 for example), and boosts performance a ton!
      • Many projects that weren't playable before, or had weird issues, are now completely playable!
      • There may be some bugs introduced with this change, so please be sure to report any bugs you find!
      • This change has also resulted in some of the caching features added in previous betas getting removed. The removed caching features will be re-added in the next release.
    • Complete Audio Rewrite (Via PR #582)
      • @NishiOwO has rewritten audio from the ground up to no longer rely on SDL's mixer libraries!
      • More audio formats are now supported, and the Pitch and Pan left-right audio effects now work on all platforms!
      • You no longer need to put sounds in the Stage for streamed audio, as now every Sprite will have it!
      • Unfortunately with this change, we were not able to get audio working for the NDS, so this release on NDS will have audio temporarily disabled.
    • Added support for TurboWarp's Custom Reporter extension
    • Added support for Translate Scratch extension (Via PR #612)
      • Adding this extension was partly the reason the Runtime was rewritten in the first place, since scripts in the old Runtime couldn't yield if a reporter returned nothing that frame.
    • Added Warp Timer Project setting
      • Having this enabled makes scripts check if they've been running for a long time (500 ms), and run at a low framerate instead of getting stuck until the loop finishes.
      • This is similar to Scratch's behavior. It fixes crashes/freezes but may cause a performance impact on some devices, so turning it off may improve performance.
    • Only downscale images on some platforms (NDSPSP and GameCube)
      • Images on all platforms used to be down-scaled by 2x to save on RAM/VRAM usage
      • Since Scratch internally doubles the size of each image, there should've been no visual difference. However, some projects don't have their image size doubled, making it look pixelated in SE!
    • Sprite fencing is now more accurate
    • Fix memory leak when an image fails to load
    • Fix parsing crash if certain project/Sprite properties were empty
  • Switch Changes
    • Fixed touch screen not working
  • Credits

Beta Build 38.1

  • Runtime Changes
    • Added Collision Mode Project setting
      • Setting it to Accurate gives you the new collision introduced in Beta 38.
      • Setting it to Fast makes the touching __ block use (non-rotated!) rectangles for collision.
      • It is set to Accurate by default on all platforms except for NDS.
    • Changed Sprite fencing a bit
    • Fixed Username when using cloud variables
  • Wii U Changes
    • Fixed controls not working
  • 3DS + NDS Changes
    • Fixed memory leak when using Accurate collision mode
  • PC Changes
    • Fix thread memory leak

Beta Build 38

  • Parity Changes
    • Accurate Sprite collision! (Via pull request #586)
      • When using the Touching ___ block, collision now uses accurate bit-masks instead of rotated rectangles!
      • On 3DS and Wii, these bit-masks are 2 times lower in resolution. On NDS, PSP and GameCube, they are 3 times lower. This is to save performance.
      • Do note that this update does NOT add support for color touching blocks.
    • Add support for When Stage Clicked block
    • Make base conversions work with doubles
  • Runtime Changes
    • Finished migrating all platforms to CMake!
      • This makes it easier for us to add new platforms and features later down the road
    • Only load SVG fonts when needed instead of at the start of the app
    • General code refactoring under the hood
  • Menu Changes
    • The Bottom Screen project option no longer shows up on platforms that don't have it
    • Pressing L and R takes you up and down pages
    • Project now stays selected when going from Project Settings menu
    • Mouse no longer keeps priority when using a controller/keyboard to navigate the menu
  • Windows Changes
    • Add support for Text To Speech Extension
  • 3DS Changes
    • Say and Think blocks now work correctly in dual screen mode
  • Authors
  • Contributors

Beta Build 37

  • Runtime Changes
    • The SVG Update!!
      • Switched SVG backends from NanoSVG to LunaSVG (Via #568)
        • LunaSVG supports many more SVG features, so things such as bitmap images inside of vector images are now supported!
      • LunaSVG also allows us to support text inside of vector images!
        • Many of Scratch's default fonts (Pixel,Sans SerifSerifHandwritingMarkerCurly) are supported
        • Other fonts will fallback to a default font
        • The app size has increased a bit due to having to embed all the fonts
      • Added the ability for SVG images to scale up and down in resolution (Via #571)
        • This means SVG images should no longer be pixelated when at an increased size!
    • Performance Updates
      • Added Pen Mode Project Setting
        • When Pen Mode is set to fast, Performance with pen is way faster, with the tradeoff of rendering pen strokes as rectangles instead of circles
        • Fast pen is good for when your project has hundreds of pen blocks being called every frame, otherwise Accurate pen is still a good choice
      • Added Show FPS Project setting
        • When turned on, it adds debug Monitors showing you FPS and Frame Time information
      • Added Keep Project In RAM Project Setting
        • When turned off, the entire .sb3 project file will no longer be kept in RAM, which is great for large projects on low RAM devices
        • Assets (Images and Sounds) will take longer to load when this option is turned off
        • This option is on by default for all devices except for NDS, PSP, and GameCube
      • Increased Performance by Caching a bunch of data (Variable/List data, block handlers, etc) (Via #565)
        • In some cases this improves performance quite significantly!
        • This is not available for Low RAM devices (PSP, NDS, 3DS, GameCube, Wii)
    • Fixes
      • Fixed crash when loading RomFS projects
  • Parity Changes
    • Added support for data_variable and data_listcontents hidden blocks (Via #569)
    • Fixed parsing error when parsing block field values that are arrays
  • Menu Changes
    • Projects are now sorted Alphabetically
    • The Unpacked Project button is now a vector instead of a bitmap image
  • PSP & PS Vita Changes
    • PSP and Vita are now built in Release mode
      • This means that performance on these devices should now be much better!
    • [Vita] denoise livearea background
  • PS4 Changes
    • Enable VSync
  • This Beta was brought to you by; @gradylink@Dogo6647@NishiOwO@DevelopCMD@poipole807@PwLDev, and @NateXS

Beta Build 36

  • Runtime Changes
    • Refactored a bunch of image code under the hood
      • This also has the side effect of fixing some Sprite position and brightness effect issues
    • The touching __ block has been optimized
    • Fixed default controls getting set even when custom controls are set
  • Parity Changes
    • Support undefined as a value
    • Add support for motion_xscrollmotion_yscroll, and sensing_userid blocks
    • Variable monitors can now only display numbers at up to 6 decimal places
    • All via PR (#563)
  • 3DS Changes
    • Fixed position/fencing issues on custom resolution projects
    • Fixed memory leak when freeing audio
    • Fixed Audio cracking and slowdown issues on Old 3DS (Via an SDL PR)
  • webOS Changes
    • Fixed project path being incorrect
  • PSP Changes
    • Disabled VSync

Beta Build 35

  • Runtime Changes
    • Fix crash when loading audio in unpacked projects
    • Fix custom blocks still running after deleting the sprite
    • Added support for TurboWarp's 0 FPS option
    • Fix controls not being set sometimes
    • Pen is now cleared when exiting a project
    • Fix high DPI displays being scaled weirdly (via #552)
  • Parity Changes
    • Added is online? block
      • Please note that this block isn't correctly implemented, as it will only return true if your build supports cloud variables.
    • Added support for the slider Monitor type
    • Added pages to list Monitors
    • The Stop All block no longer takes you to the main menu
      • To get to the main menu, you can pause the Project by holding start for 3 seconds.
    • Changed Sprite layering to be closer to Scratch
    • Fixed some parity issues with Backdrop blocks
    • The mod block can now return NaN
    • The x contains x block is now case-insensitive
    • Sound blocks now yield for 1 tick
    • The Size reporter block now has its value rounded
  • 3DS Changes
    • Fix bottom screen being white in Dual-Screen mode
    • Fix text position being a bit too far down

Beta Build 34

  • Menu Changes
    • The main menu is no longer jolly....
  • Parity Changes
    • Implemented all Say and Think blocks!
    • Implemented Switch Backdrop to x And Wait block
    • Fixed position of monitors (visible variables) when using a custom Project resolution
    • Sprite fencing should now be a bit more accurate
    • Fixed some Sprite layering issues
    • Fixed Delete This Clone block sometimes not working
    • Fixed Broadcast blocks not working in some projects
    • Fixed number overflow issues
  • Runtime Changes
    • Fixed collision on non-rotated Sprites
  • 3DS Changes
    • Monitors are now supported in Dual-Screen mode
  • Credits

Beta Build 33

  • Runtime Changes
    • Fixed a bug causing the app not to launch on Windows, Wii U, NDS, and PS4
    • Added support for Pitch and Pan left-right audio effects
      • These effects are currently only available on SDL3 devices (3DS, Linux, Mac)
    • Fixed monitors, collision, and mouse being in the wrong position
    • Fixed mouse position being set to the top left of the screen on touch screen devices
    • Re-Added mouse mode to devices with no touch screen or mouse support (PS4, PSP, GameCube)
  • Menu Changes
    • Removed NDS menu music from non-NDS platforms
      • This means SE! will have a smaller file size!
    • Splash text is no longer the default Everywhere! on some devices
  • 3DS / NDS Changes
    • The trackpad mouse behavior on top screen projects has been removed, and replaced with normal touch screen behavior
  • MacOS Changes
    • Updated to SDL3
      • NOTE: Intel macs are still using SDL2.
    • New Icon
      • Due to an issue, there is no longer an icon.

Beta Build 32

  • Menu Changes
    • Added a Project pause menu
      • Accessed by holding Start for 3 seconds while in a project (1 on keyboard)
      • Currently has the ability to exit a project, re-run a project, and toggle Turbo Mode
      • This feature is not accessible in RomFS projects
    • Updated logo (Via #514)
    • Added the ability to change the path that projects will be found in
    • Menu music can now be turned off in menu settings
    • Added new menu splash text, some that could even use your username!
    • Fixed menu splash text position being off at higher resolutions
  • Runtime Changes
    • We did a whooole lot of code refactoring under the hood
      • This may introduce new bugs we aren't aware of yet, so be sure to open an issue if you find one!
    • OpenGL Port! (Via #512)
    • The Open Project custom block can now open projects inside of the RomFS (Via #508)
    • The Text To Speech block will no longer run if it fails to download the audio track
    • Fixed cloud variables not working if changing more than 1 variable at a time
    • Fixed the position of Sprites being off sometimes
  • Parity Changes
    • Fixed the order in which When I start as clone blocks run
    • Fixed Next Backdrop block not working
    • You can no longer click on a Sprite that has a ghost effect of 100
    • The For Each block now has better parity
    • The When Key Pressed block is no longer tied to the FPS
    • Turbo Mode now works like Scratch
    • The Broadcast and Wait block now works like Scratch
    • Fixed the run order of repeating blocks
    • Fixed repeat loops not working if ran for over 10.6 years
    • Added more accurate double to string conversion (Via (#520)
    • Variables can no longer be an int
    • Fixed some custom blocks not working
  • 3DS Changes
    • Collision in Dual-Screen mode is now correct
    • Mouse position in Dual-Screen mode is now correct
  • PC Changes
    • The username block can now get your PC's username
    • Settings are now stored in your OS's respective configuration folder.
  • NDS Changes
    • Added new menu music
  • This beta was brought to you by: @Dogo6647@poipole807@Br0tcraft@leap0x7b@gradylink@roccopm@DevelopCMD@Starlii10, aaaaand @NateXS

Beta Build 31

  • Runtime Changes
    • Updated the main menu UI to support touch scrolling
    • Fixed Project Unpacking not working
    • Fixed Custom Controls menu not working
    • Added new splash text
    • Improved the appearance of on screen variables and lists (Via #489 and #499, thanks @leap0x7b !)
    • Touching blocks now have more consistent collision (still box collision, just more accurate)
    • Fixed Stop "This Script" block sometimes not working
    • Fixed offset when dragging Sprites
    • Fixed some Sound block issues
    • Fixed Sprites sometimes being in the wrong position for one frame
  • Parity Changes
    • @Geotale dropped a huge lootbox showing a bunch of parity issues with SE! (#498), and we've been working to fix them all! The changes won't be listed here since it's many small technical changes, but I recommend you look at the issue if you're a hardcore Scratcher.
    • Sprites can no longer touch itself with the Touching block
    • The Stage Sprite can no longer be cloned
    • Scratch 2.0 Pen blocks have been implemented
    • Fixed Broadcast and Effect blocks not working in Scratch 2 projects migrated to Scratch 3 (Via #494 and #496, thanks @kalomaze !)
  • 3DS Changes
    • Fixed Sprite flipping sometimes not working
    • Fixed Pen rendering on dual screen and bottom screen modes
  • NDS Changes
    • Fixed Sprites not rendering in the correct position
  • Switch Changes
    • Updated icon to be less blurry
  • webOS Changes
    • The webOS port is currently in review to be added to the webOS Homebrew store!
  • PS4 Changes
    • Disabled the loading screen temporarily due to a crashing issue

Beta Build 30.1

  • Runtime Changes
    • Fixed a bug causing projects to not get found in the Main Menu on some devices
    • Fixed being able to click Sprites while they're hidden

Beta Build 30.1

  • New Features
    • WebOS port!
      • It's!! TV!! Time!!!!
      • Scratch Everywhere! has been ported to WebOS, meaning any TV running this OS can now play Scratch games!
      • Bluetooth controllers, wired controllers, and even the TV Remote can be used as input!
      • From @Dogo6647 (PR #471)
    • [Wii U, 3DS] Text to Speech extension support!
      • Works by using Scratch's Text-To-Speech API to send speech data to the device
      • From @Br0tcraft (PR #480)
    • Makey Makey extension support!
    • [PC] SDL3 support!
      • Due to an issue, only Linux will be using SDL3 for this release. Windows and MacOS will continue to use SDL2 for a little while as we figure out a fix.
      • From @gradylink (PR #439)
    • SDL1 support!
      • This will enable us to port Scratch Everywhere! to platforms where SDL2 and 3 aren't available!
      • From @leap0x7b (PR #475)
  • Runtime Changes
    • Added festive music to the Main Menu! (Tunes as always from @Dogo6647)
      • This change also has the added benefit of reducing the load times of the Main Menu
    • Refactored input under the hood to be a bit more consistent
    • Fixed Pen stamping not working if the Sprite is hidden
    • Pen stamping now accounts for Sprite's size
    • Improve Runtime performance when accessing the Stage Sprite
    • Change Costume blocks with numbers as input now prioritize the costume name over the costume number
    • Fixed When this backdrop switches to block not working correctly
    • The Runtime now properly cleans up images when running out of RAM
    • Fixed Sprite sorting when cloning
    • Fixed even more audio issues when a project is unzipped
    • Fixed crashes related to parsing numbers
    • Fixed crash when sometimes trying to load the position of a comment
    • Fixed +Infinity not working correctly
    • Allow for hacked dropdown inputs
    • Added Core Example Extension
    • Implement Scratch's weird spacing rules with List reporter blocks (PR #467)
    • Fixed whitespace comparison (PR #464)
    • Fixed the order in which blocks run
  • 3DS Changes
    • Increased command buffer size
      • This basically means you can have more Sprites on screen at once without having it crash!
    • Increased performance a bit by messing with VSync settings
    • Fixed crash when trying to render an image that fails to load
  • Wii / GameCube Changes
    • Added Streamed Sound Support!
  • PSP Changes
    • Fixed RomFS projects not working

Beta Build 29

  • New Features
    • PSP Port!
  • Switch Changes
    • Upgraded to the latest libnx version, meaning SE! is now supported on Firmware 21.0.0.
  • 3DS Changes
    • Fixed app not closing when closed from the Main Menu
  • Runtime Changes
    • The Main Menu is feeling a bit jolly...
    • Changed Arialn font to Liberation Sans Narrow font
  • Parity Changes
    • Added instant block execution
      • In Scratch, if nothing on screen happens, all blocks run as if Run Without Screen Refresh was on. SE! now handles this behavior.
    • Sprites now correctly run their blocks in layer order
    • The direction blocks are now correctly clamped and rounded
    • The Change Variable by x block now works correctly when putting in letters as input
    • Fixed some blocks not running without screen refresh when they should
    • The Pick random block now correctly works with non-decimal numbers
    • NaN is now correctly handled as a number when put in block inputs
    • Booleans now work as they would in Scratch
    • Uppercase letters in hex colors now work correctly
    • SE! now handles Scratch's rare null input bug correctly
    • Fixed Broadcast and wait block's weird behavior from a clone who's ready to be deleted

Beta Build 28

  • Runtime Changes
    • Added Music to the Main Menu (tunes by @Dogo6647 !)
    • [Non-3DS Platforms] Added support for TurboWarp's High Quality Pen option
    • Fixed audio issues with unzipped projects
      • Fixed sounds not being able to replay
      • Fixed sounds not being able to change volume
    • Fixed a bunch of parity issues related to Infinity and nan numbers
    • Fixed crashes related to list blocks
    • Projects that contain Lists with many items now load faster
    • The Open project block can now choose projects from the SD card (Via pull request #425)
  • PC Changes
    • Builds for Windows, MacOS, and Linux will now be put in releases!
    • Migrated to CMake for compilation
    • Added support for RomFS projects
  • PS Vita Changes
    • Fixed audio not working
    • Sped up compilation time
  • DS Changes
    • Fixed audio not working
  • 3DS Changes
    • Fixed Pen texture being off by 1 pixel

Beta Build 27

  • DS Port!
    • They thought it was impossible... but impossible is my middle name.
    • It's recommended that you read the README for the limitations of this port!
    • You will likely come across many crashes, so please open up a GitHub issue if you experience them!
    • KNOWN ISSUES
      • Unpacking projects and changing controls crash the system
      • Cloud variables will not be supported
      • RAM is very limited, so try to keep projects small
      • A bunch of Audio limitations, see README for details
    • Via pull request #362!
  • Web Port!
    • @gradylink has ported the Runtime to WebAssembly!
    • With this, ScratchBox is also updated to use SE!
    • Via pull request #334!
  • PS4 Port!
    • @PwLDev has spent over 3 months porting SE! to the PS4!
    • Now all 3.5 modded PS4 users can enjoy Scratch games on the big screen!
    • KNOWN ISSUES
      • Cloud variables is not currently supported
    • Via pull request #278!
    • Warning: The PS4 package on this GitHub release is broken. Please download beta 27 from pkg-zone instead.
  • Runtime Changes
    • Optimized Sprite rendering performance
    • Fixed huge memory leak with If else block
    • Fixed Main Menu and audio memory leaks
    • Switch costume to blocks with a number as an input now chooses the correct costume
    • Fixed positioning of Monitors (Visible Variables)
    • Changed the look of Monitors look a bit more like Scratch
    • Added support for more Monitor types
    • Added Scratch Everywhere! controller custom block
      • Returns the current controller being used
    • [SDL2 Platforms] Fixed scaling of Pen stamped Sprites
  • 3DS Changes
    • Fixed rendering with the Pen extension
    • The Pen extension can now be used in dual screen mode
    • The mouse can no longer go off screen
    • Fixed compilation error when ENABLE_AUDIO is off
  • Wii Changes
    • Fixed projects being at an unplayable Framerate
  • Wii U Changes
    • The Stop "All" block now correctly takes you back to the Main Menu
  • Vita Changes
    • Sounds from the stage now play as Streamed audio
    • Warning: The Vita package on this GitHub release was accidentally compiled without audio support. Please download beta 27 from here instead.
  • Switch Changes
    • Fixed keyboard menu not closing when closing the software keyboard

Beta Build 26

  • 3DS Changes
    • Migrated from SDL2 to SDL3 for audio
      • Overall audio performance will be better with this change!
      • Every sound is now a streamed sound, meaning you no longer have to put certain sounds in the stage!
    • Refactored images to use 2x less RAM!
    • Unused images will now stay in memory for longer before being freed
      • Changed from 4 seconds to 21 seconds
    • Audio now works when using .cia
  • GameCube Changes
    • @Extrems has done a ton of work to the GameCube port recently!
    • Migrated to libogc2
    • Fixed not being able to find projects in Main Menu
      • This means the GameCube build can finally come back to releases!
    • Fixed GameCube controller inputs getting stuck
    • Fixed system time getting reset to January 1st, 2000
    • Fixed progressive scan mode being forcibly enabled when using component video
    • General GameCube code cleanup
  • All via pull request #411!
  • Switch Changes
    • Fixed audio not working
    • Fixed Dockerfile builds crashing
      • This should also fix the crashing that was present in Beta 25.
    • Fixed resolution not getting changed correctly
    • Swapped ABXY buttons from Xbox layout to Nintendo layout
    • Added correct error text for no projects in Main Menu
    • Fixed icon not showing up
  • Runtime Changes
    • Lists now have a maximum length of 200,000 items
    • the equals block is now case-insensitive, matching Scratch behavior
    • Stop "other scripts in this sprite" block now stops playing sounds in the sprite
    • Sounds are now in memory longer before getting freed
      • Changed from 8 seconds to 21 seconds
    • Sound loading is no longer threaded
      • This means that every time a new sound is loading, the game will freeze for a bit, until the sound is loaded.
      • There are pros and cons to this, but ultimately this change makes audio more stable.
    • [SDL2] Sounds in the stage can now be stopped by Stop all sounds block
    • The Stop all sounds block now stops every playing sound, not just sounds in the sprite
    • Fixed collision on off-center costumes
    • Fixed sprites with off-center costumes being rendered in the wrong position
    • Images now stay loaded in memory when stamping with Pen
    • Custom controls will now only try to load with projects from the Main Menu
    • Main Menu buttons can now be clicked with touchscreen devices
    • Renamed Running flag block text in loading screen to Finishing up!

Beta Build 25

  • New Features
    • Pen Support!
      • The heavily requested and long awaited Scratch extension is finally here!
      • Pen is not currently supported on Switch or PS Vita.
      • Pen will not work correctly on 3DS when using dual-screen mode.
      • There may be more issues we haven't found, so please open up bug reports!
    • Project splitting!
      • Ever wanted to make a huge game but you're hitting memory limits? Now you can split your game into multiple Scratch projects to get around this!
      • It uses custom blocks to open projects
      • You can find more information with the example project!
    • Turbo Mode
      • If Turbo mode is enabled in your Scratch project, Scratch Everywhere! will also enable it!
  • Parity Changes
    • Time based blocks now uses the device's local time instead of a set time zone
    • Days since 2000 block now updates every millisecond instead of every second
    • Current "month" block now returns the correct month
    • Added support for more hidden Scratch blocks
  • Runtime Changes
    • Big refactor to how numbers work under the hood
      • Performance overall should be a bit better
    • Fixed Sprite collision box being rotated the wrong way
    • Added support for nine-slice rendering in the Main Menu
  • 3DS / Wii U Changes
    • Cloud variables should now work correctly (this was my bad, I compiled it wrong last beta)

Beta Build 24

  • New Features
    • Add support for changing your username in the main menu settings
      • If disabled, the username block will return your console's nickname
      • If enabled, you can choose a custom username and the username block will return that instead
  • Runtime Changes
    • The touching block now works correctly with vector images
    • Fixed sound effects getting cut off if a new one gets played
    • Sound effects now get unloaded from memory after a few seconds of it not playing
    • Sound effects with low volume now play correctly
    • Sound blocks now work correctly if the input is another block
    • The main menu buttons has been replaced with new SVG versions
    • The main menu GUI now scales depending on screen resolution
    • Added project loading screen to SDL2 platforms
    • Reverted project.sb3 auto opening at startup
  • 3DS Changes
    • Fixed a bug causing some vector images to appear bigger than it should
  • Wii Changes
    • The username block now returns the Wii's nickname

Beta Build 23

  • New Features
    • Scratch Everywhere! Custom Blocks!
      • This actually isn't a new feature, but we never talked about them at all so I'll talk about it here :)
      • Similar to TurboWarp's is compiled? and is TurboWarp? blocks, We've made a few new blocks that Scratch Everywhere! can understand!
      • You can still upload your projects to the Scratch website when using these new blocks!
      • is Scratch Everywhere!? block returns true if your project is running on Scratch Everywhere, and returns 0 otherwise.
      • is New 3DS block returns true if your project is being played on a New 3DS, returns false otherwise.
      • Scratch Everywhere! platform returns the platform your game is being played on (3DS,Wii,etc).
      • A project containing these blocks can be downloaded here!
    • Unpack project option in project settings!
      • Instead of the normal way the runtime works by putting the entire scratch project in memory, unpacking a project eliminates this by only loading things when it needs to!
      • Unpacked projects are great for large projects, and projects with a ton of images!
      • Depending on the speed of your SD card, unpacked projects can run way faster than normal projects!
      • Unpacked projects will have a lightning symbol next to it, and will appear towards the bottom of the project menu.
    • Bottom Screen option in project settings!
      • For 3DS, you can enable any project to be played on the bottom screen instead of the top screen!
      • Great for projects where the touchscreen plays a key factor in gameplay!
      • This also means Scratch Everywhere! can be used with a broken top screen! (I know at least 1 person will be happy about this)
  • Runtime Changes
    • If you have a project in your Scratch Everywhere! folder named project.sb3, the project will now automatically run when opening the app.
    • Changed D-Pad controls in Main Menu
      • NOTE: If you're using a Wii Remote, this means you now have to use the remote sideways to navigate the Main Menu.
    • Added more splash text to the Main Menu
    • Fixed a ton of memory leaks under the hood
  • 3DS Changes
    • Fixed buttons in the Main Menu sometimes not loading correctly
  • Switch Changes
    • Changed resolution to the handheld's native 1280 x 720, instead of being a weird stretched resolution

Beta Build 22

  • New Features
    • Brightness costume effect added!
    • Logs now get saved to a log file
      • Log file is located in the same spot your scratch projects are placed
      • [3DS] Logs are only saved when holding Select while launching the app
  • Runtime Fixes
    • Fixed When this sprite clicked being ran for every sprite instead of only the sprite that's clicked
    • Fixed When this sprite clicked being able to click multiple sprites in one click
    • Fixed a few crashes that could happen related to audio
    • Fixed backdrop rendering
    • Added some new Main Menu splash text
    • A bunch of code refactoring under the hood
  • 3DS Changes
    • Fixed bottom screen not rendering correctly

Beta Build 21

  • New Features
    • Main menu splash text!
      • A random message will appear at the bottom of the logo!
  • Runtime Changes
    • Reverted vector image collision fix
      • This caused many issues with image rendering, so vector image collision will be inaccurate until we find a better fix.
    • Fixed collision not working on clones
    • Broadcast and Broadcast and wait blocks should work more consistently
    • Fixed sprites sometimes rendering behind the backdrop
    • Added version number in main menu
    • Changed font in main menu
    • Fixed controls menu not saving or loading properly
    • Removed .sb3 extension in the project menu
  • 3DS Changes
    • CIA release!
      • Highly requested feature finally brought together!
      • Via pull request #317!
    • New RAM_AMOUNT compile variable
      • Used for old 3DS to specify the maximum amount of RAM it can use
      • More info in the README
    • Changed executable name from Scratch to scratch-3ds
    • Optimized text rendering
  • PS Vita Changes
    • Significantly improved performance!
      • Via pull request #321!
  • Known Issues
    • Backdrop images may not render correctly
    • [3DS] File size is much larger due to using new fonts

Beta Build 20

  • New Features
    • PS Vita port!
      • Via pull request (#274)
  • Scratch Parity
    • Added When this sprite clicked block
    • Added When backdrop switched to block
    • Added Show list and Hide List blocks (Via #295)
    • Added support for dragging sprites
  • Runtime Changes
    • Added support for more clones when Infinite Clones is enabled in TurboWarp or other Scratch Mods
    • Mouse position is now more consistent
    • Fixed collision on vector images being half the size it should be
    • Fixed Move __ steps block not fencing the sprite correctly
  • Wii Changes
    • Fixed projects not searching in the right location in the SD card
  • 3DS Changes
    • Changed icon

Beta Build 19

  • Scratch Parity
    • Added support for hidden While block
    • Support last, all, and random as list indexes
    • Support Infinity and -Infinity
    • The default distance in the distance to block is now 10000
    • The mod block now works like Scratch does
    • Support scientific notation
    • Support octal, hex, and binary numbers
    • Support string comparisons
    • List block items no longer get separated by a space if all items are one character long
  • Runtime Changes
    • Fixed crash when custom block arguments are used outside of the custom block definition
    • Fixed layering working incorrectly
  • 3DS Changes
    • Stereoscopic 3D support!
      • Uses Scratch's layering system to determine 3D depth
      • NOTE: using 3D may result in worse performance. I'm working to fix this.
    • Fixed unzipped projects crashing after some time
  • Wii U / Switch Changes
    • Added stick click support!
      • Left stick click is c
      • Right stick click is v
  • Wii Changes
    • [EDIT quick fix] fixed projects searching in SD card root instead of searching in apps/scratch-wii

Beta Build 18

  • New Features
    • Scratch Everywhere! logo
    • Added support for more image types
  • 3DS Changes
    • When compiling an unzipped project, all bitmap images get converted to .t3x format
      • This means images will load way faster, and the problem with images not loading is gone!
    • Fixed audio cracking (again)
      • Note: audio may still crack in certain scenarios.
  • Wii U Changes
    • Fixed icon and boot splash not showing up on the home screen
  • Wii Changes
    • Fixed audio not working
    • Fixed wrong date in meta.xml
  • Switch Changes
    • Fixed audio not working

Beta Build 17

    • Scratch Everywhere!
  • The name has been changed to Scratch Everywhere!
    • That's Scratch Everywhere! with the exclamation point btw..
    • It made 0 sense to keep the name Scratch 3DS as this is now on 5 different platforms...
    • speaking of which...
  • Switch Port!
    • For all 1.5 people who own a modded Switch, you can now enjoy Scratch games!
    • Via pull request (#97)!
  • All new main menu screen!
    • The Main Menu has gone through a huge refactor under the hood!
    • It should be a smoother and better experience overall!
    • It's still a work in progress, but now it should be a little easier to add stuff to it in the future!
  • Custom controls!
    • In the Project menu is a new option to remap the controls of any project!
    • Control mappings get loaded and saved to scratch-everywhere/'project_name'.json
      • Wii U is sd:/wiiu/scratch-wiiu/'project_name.json'
  • Runtime changes
    • Sprite fencing has been implemented!
      • Can be disabled with TurboWarp or other Scratch mods.
    • The Stop 'All' block now takes you back to the Main Menu instead of the homebrew menu!
      • Note: The Wii U will still exit the app, as it would freeze when going back to the Main Menu for some reason.
    • Booleans (anything set to true or false) now doesn't get set to 1 or 0 by the runtime mistakenly
    • Fixed a couple of crashes that could happen while loading
    • Custom blocks with no definition now works as intended
      • Logging blocks created by Scratch Addons Debugging Addon can now be used.
    • The runtime can now be compiled with ENABLE_AUDIO=0.
      • For the 3DS, this means smaller file size, and you no longer need SDL2 to compile.
  • 3DS Changes
    • Fixed crash when closing the app
    • Fixed audio cracking issue
    • Sprites are no longer rendered in fractional positions, fixing some image weirdness
    • Changed image filtering from nearest to linear
      • This fixes the image fuzziness and weirdness issues, with a tradeoff to some images looking slightly blurry. I might add a filtering option to the Main Menu in the future.
  • Wii Changes
    • Fixed projects not showing up in Main Menu
    • Fixed images sometimes not being able to load
    • [Quick Edit 16 Aug 2025] Fixed meta.xml showing the wrong date
  • Wii U Changes
    • Fixed projects not showing up in Main Menu

Beta Build 16

  • Wii and Gamecube port!
    • The runtime has been ported to 2 new consoles!
    • More information in the README!
  • [3DS and Wii U] Cloud Variable support!
    • Cloud Variables now sync over the network with anyone also playing the same game!
    • Syncs across both Wii U and 3DS
    • Note: does NOT sync with people playing on the Scratch website or Turbowarp.
    • Via pull request (#145)
  • Runtime Changes
    • Broadcast blocks now have more consistent behavior
    • Disabling Fencing in advanced settings now disables size limitations
    • Variables set to True or False no longer gets set to 1 or 0
    • Images in any project now only load whenever it's needed, instead of loading every image in memory while loading the project
    • [Wii U] Main Menu with no projects should now work correctly
    • [Wii U] Unzipped projects now load images and sounds correctly
    • [3DS] when compiling, the final executable will now be in build/3ds/ instead of the root directory.

Beta Build 15

  • New Features
    • Vector Image Support
      • You no longer have to convert your vector images to bitmap!
    • [3DS] Mouse Mode
      • Mouse mode has been removed and replaced with Trackpad-like behavior on the bottom screen!
      • Glide your finger/stylus on the bottom screen to move the mouse, and quickly tap to click
      • The old "holding L and using the D-pad" has been removed
      • If your scratch project uses the bottom screen, trackpad mode is disabled and replaced with normal touchscreen behavior
  • Runtime Changes
    • Fixed "If" blocks continuing if it should've been stopped by a Stop 'this script' block
    • Fixed "List" blocks not working correctly if set to For this sprite only
    • [3DS] fix Main Menu error text being cut off
    • [Wii U] Mouse position is now calculated accurately
  • Known Issues
    • [3DS] Some vector images may appear bigger than they should
    • If a vector image contains text, the text will not render

Beta Build 14

  • New Features
    • "Show variable" and "Hide variable" blocks added!
    • Variables can now show on screen!
  • Runtime Changes
    • Fix broadcast blocks not working correctly sometimes
    • Fix Stop "this script" and Stop "other scripts in this sprite" blocks not working correctly sometimes
    • Fix invalid sounds crashing the app
    • [Wii U] Unselected projects in Main Menu are now black instead of red
    • [3DS] if compiling an unzipped project, more images can now be loaded without failing
    • [3DS] You no longer crash/get kicked to the homebrew menu while loading images initially
      • If your project has many images, some will not load and render as a black square. A fix for this is in the works.
    • [3DS] when compiling, you now have the option to disable the loading screen visuals. Run make ENABLE_BUBBLES=0 when compiling.

Beta Build 13

  • New Features
    • [Wii U] Main Menu and file picker!
      • You no longer have to name your project "project.sb3", and can have as many projects as you want!
      • You still need to put all your projects in sdcard:/wiiu/scratch-wiiu/.
  • Runtime Changes
    • [3DS] Loading sounds now run in the background and no longer freezes the game!
      • Known issue: loading a sound while other sounds are playing will mute all sounds until the sound is done loading.
    • [3DS] Fixed crash if an image failed to load
    • "Set Volume to", "Change Volume by", and "Volume" blocks added
    • Fixed Play Sound until done block not working correctly if played in the Stage

Beta Build 12

  • New Features
    • [3DS] Audio Support!
      • "Sound effect" (volume, pitch) blocks still not implemented yet
      • See README for more limitations
  • Runtime Changes
    • Fixed repeat blocks behaving weirdly if run from a broadcast block
    • Fixed "If on edge, bounce" block not taking into account the scale of the sprite
    • Fix collision sometimes not working
    • [3DS] Fix project names sometimes not rendering in Main Menu
    • [3DS] Fix projects not being able to go above 30 FPS
    • [3DS] You now need 3DS versions of SDL2 and SDL2_mixer to compile
    • [Wii U] Sound loading now runs in the background and doesn't freeze the game
    • [Wii U] Images now work on unzipped projects
    • [Wii U] Fixed screen tearing

Beta Build 11

  • New Features
    • [Wii U] Audio Support!
      • Supports mp3, wav, and ogg currently
      • "Start sound" "Play Sound Until Done" and "Stop all Sounds" implemented
      • "Sound effects" (volume, pitch) not yet implemented
      • 3DS audio support was going to be this beta, but there's still a couple of things to fix there unfortunately.
  • Runtime Changes
    • [3DS] Fixed crashing when sometimes loading an image for the first time
      • this fix could also fix the Main Menu crashing, but again I didn't have that issue in the first place and can't test if this is true.
    • [3DS] Doubled the amount of time an image can go unused before being freed
    • [3DS] Fixed rotation and scaling inconsistencies (via #137 )
    • [Wii U] Added support for 'ghost' effect block

Beta Build 10

  • Costumes now prioritize names over index
  • Fixed empty costume inputs causing the app to close
  • Fixed "Key Pressed" block with other blocks as input causing crashes
  • [Wii U] Fix freeze when going to home menu and back in game
  • Fix weird behavior when multiple custom blocks have the same argument variable names

Beta Build 9

  • Fix "wait" block not working
  • Added black bars to the sides of the screen if the aspect ratio of the project and screen don't match

Beta Build 8

  • Wii U Port!
    • @gradylink was epic enough to port the runtime to Wii U!
    • Features basically everything the 3DS port currently does!
  • Runtime Changes
    • [3DS] Fixed long names in the Main Menu being cut off
    • Fixed 'if' Blocks with time-based blocks inside not working properly
    • Fixed some blocks returning "0" when they should have returned nothing
    • Fixed some sprites not rendering in the correct position
    • Fixed "Pick Random" block not working as intended sometimes
    • Fixed certain costumes not being set correctly
    • Fixed sometimes not having any "advanced settings" get enabled
    • Fixed size not getting set if sprite has never been rendered yet
    • "Wait" block now waits for at least 1 frame, matching Scratch's behaviour

External links

Advertising: