Scratch Everywhere Switch
From GameBrew
More actions
| Scratch Everywhere | |
|---|---|
| General | |
| Author | NateXS |
| Type | Other Apps |
| Version | 0.25 |
| License | MIT License |
| Last Updated | 2025/10/07 |
| 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, Vita and Switch.
Features
- Runs Scratch 3 projects, including those tailored in modded clients like TurboWarp.
- Custom blocks exclusive to Scratch Everywhere!
- Mouse input - Hold L to enable, D-Pad to move the mouse, and press R to click.
- Audio - Support MP3, Ogg Vorbis, and WAV formats.
- Framerate - Adjustable through TurboWarp's project settings.
Installation
Download the scratch-nx.nro file from the Releases page.
Place scratch-nx.nro in the sdcard:/switch/ directory.
Put Scratch projects into the sdcard:/switch/scratch-nx/ folder.
Launch Scratch Everywhere! via the Switch Homebrew Launcher.
Controls
https://github.com/ScratchEverywhere/ScratchEverywhere/blob/main/README.md#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).
Switch:
- Cloud Variables aren't currently supported, but likely will be in the future.
- The first controller connected will be the only one that will work.
Changelog
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!
- Pen Support!
- Parity Changes
- Time based blocks now uses the device's local time instead of a set time zone
Days since 2000block now updates every millisecond instead of every secondCurrent "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
- Big refactor to how numbers work under the hood
- 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
usernameblock will return your console's nickname - If enabled, you can choose a custom username and the
usernameblock will return that instead
- If disabled, the
- Add support for changing your username in the main menu settings
- Runtime Changes
- The
touchingblock 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.sb3auto opening at startup
- The
- 3DS Changes
- Fixed a bug causing some vector images to appear bigger than it should
- Wii Changes
- The
usernameblock now returns the Wii's nickname
- The
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?andis 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 returnstrueif your project is running on Scratch Everywhere, and returns0otherwise.is New 3DSblock returnstrueif your project is being played on a New 3DS, returnsfalseotherwise.Scratch Everywhere! platformreturns 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)
- Scratch Everywhere! Custom Blocks!
- 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
- If you have a project in your Scratch Everywhere! folder named
- 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!
- Main menu splash text!
- 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
- Reverted vector image collision fix
- 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
- CIA release!
- PS Vita Changes
- Significantly improved performance!
- Via pull request #321!
- Significantly improved performance!
- 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)
- PS Vita port!
- 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
- Stereoscopic 3D support!
- Wii U / Switch Changes
- Added stick click support!
- Left stick click is c
- Right stick click is v
- Added stick click support!
- 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.
- When compiling an unzipped project, all bitmap images get converted to .t3x format
- 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.
- Sprite fencing has been implemented!
- 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