An open API service indexing awesome lists of open source software.

https://github.com/ScratchEverywhere/ScratchEverywhere

Custom Scratch Runtime made in C++!
https://github.com/ScratchEverywhere/ScratchEverywhere

Last synced: 21 days ago
JSON representation

Custom Scratch Runtime made in C++!

Awesome Lists containing this project

README

          

![Scratch Everywhere! logo](https://raw.githubusercontent.com/ScratchEverywhere/ScratchEverywhere/master/gfx/menu/logo.png)

[![Release version](https://img.shields.io/github/v/release/ScratchEverywhere/ScratchEverywhere?color=brightgreen&label=Download&style=for-the-badge)](#installation "Installation")
[![Discord](https://img.shields.io/discord/1408875318248345612?color=blue&labelColor=555555&label=&logo=discord&style=for-the-badge)](https://discord.gg/Y2gf5vZHpJ "Discord")
![Commits](https://img.shields.io/github/commit-activity/m/ScratchEverywhere/ScratchEverywhere?label=commits&style=for-the-badge)

A work-in-progress runtime made in C++ aimed to bring most Scratch 3 projects
over to 6-8th-generation gaming consoles, handheld platforms, and more!

Runtime running a Scratch project on Wii U, Wii, and 3DS


(Game shown is Hopper Heros by pepper-prepper)

> [!WARNING]
> Scratch Everywhere! is a **work-in-progress**. Not all projects will run
> correctly, and some features from vanilla Scratch are not supported or are
> only supported on certain platforms. See the
> [limitations page](https://ScratchEverywhere.github.io/limitations) for more
> information.

## Documentation

Most of the documentation on how to use Scratch Everywhere! can be found on the
website: .

## Features

Scratch Everywhere! supports various console-specific features such as
dual-screen support on 3DS and DS, as well as fetching usernames from the
console itself.

On top of this, it also supports various enhancements from other modded Scratch
editors, such as removing clone limits and stage boundaries, as well as running
projects at custom framerates. It also has some unique functionality, including
the ability to allow projects to load other projects, and custom extensions that
can expand its capabilities even further.

For more information on these features, see the
[Features page](https://ScratchEverywhere.github.io/features) on the website.

## Installation

Installation instructions for Scratch Everywhere! can be found on the
[website](https://ScratchEverywhere.github.io/install).

**Scratch Everywhere! does not come with any Scratch projects.** You will need
to manually download them from the Scratch website and place them onto your
console. [ScratchBox](https://scratchbox.dev) has many projects that work well
with Scratch Everywhere!.

## Controls

![Controls](docs/controls/all.png)

### Mouse

**3DS, PS Vita, Wii U GamePad, Handheld Switch:** Use the touchscreen.

**Wii Remote:** Use the Wii sensor bar to control the mouse.

**Other Controllers:** Enter Mouse Mode by holding L. Use the D-pad to move the
mouse, and press R to click.

## Settings

The behavior of the runtime can be changed with various settings. These include
changing the mapping of buttons to keys in the project or modifying the behavior
of some blocks. See the [website](https://ScratchEverywhere.github.io/settings)
for a list of all settings and what they do.

## Building

There are two primary methods of compiling Scratch Everywhere: **using Docker**
and **manual compilation**. Both methods are described on the
[website](https://ScratchEverywhere.github.io/build).

In addition, you can bundle a project with Scratch Everywhere! and create a
standalone application or game with the runtime!

## Contributors

Thank you to all the people who have helped with the development (and other
aspects) of this project!







(Made with contrib.rocks)

If you would like to contribute to Scratch Everywhere!, see our
[contributing guide](/CONTRIBUTING.md).

## Disclaimer

This project is not affiliated with Scratch, the Scratch Team, or any of the
supported platforms' parent companies or organizations.