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 11:33, 31 October 2025 by HydeWing (talk | contribs)
Scratch Everywhere Wii U
General
AuthorNateXS
TypeOther Apps
Version0.27
LicenseMIT License
Last Updated2025/10/28
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, Vita, Switch and PS4.

Features

  • Runs Scratch 3 projects, including those tailored in modded clients like TurboWarp.
  • 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.
  • Audio - Support MP3, Ogg Vorbis, and WAV formats.
  • Framerate - Adjustable through TurboWarp's project settings.

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.

Media

Porting Scratch to the 3DS (NateXS)

Limitations

General:

  • Text and embedded bitmap images will not show up on vector images containing it.
  • Extensions (e.g. pen and music extensions) are not yet 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 (~30+) clones (memory management issue).

Wii U:

  • "Streamed Sound" is not supported. Any sounds in "Stage" will load and play like a normal sound.
  • The first controller connected will be the only one that will work.

Changelog

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: