TurboWarp-Plus-EditorGitHub

Feature guide 10/12 · Updated November 14, 2026

Save and distribute

Save your project, record project information, decide where extension code and assets are kept, and hand the project over as an SB3 or a single HTML file.

10.1 Choose between Save and Save as

"File" → "Save Project" overwrites the open SB3 or project folder with the whole project. A new project, or one you saved by downloading, has nothing to overwrite, so this item is unavailable. If you edited a text file in the folder on its own, use "Save file" in that tab.

What ⌘S (Ctrl+S on Windows) does depends on the panel open at the left edge. With "Sprites" it is assigned to "Save Project", and with "Project folder" it is assigned to "Save Active Tab"; the File menu shows the shortcut next to that item. If no savable tab is selected in "Project folder", pressing the shortcut saves nothing.

The * mark for unsaved changes

When you edit a project and have unsaved changes, a * appears to the right of the project title in the menu bar and after the names of tabs you are editing, such as sprites. Clicking the * next to the title shows the save actions available at that moment, such as "Save Project" and "Save As…". The * disappears when you save.

Save under a new name

"File" → "Save As…" saves the project with the name and save format you choose.

The Save As dialog with a Name field and a Save format menu, and Cancel and Choose Where to Save… buttons at the bottom right.
"Save As". In browsers that let you choose a location, click "Choose Where to Save…"; in other browsers, click "Save" to download the file.
Available save formats
Save formatWhat is saved
SB3 (current storage settings)Saves with the storage formats chosen in "Project Data…" and "Extensions…"
SB3 (embed configured scripts and assets)Saves YAML scripts (such as Kamishibai YAML scripts) and assets that are set to HTTPS references and the like inside the SB3. Use it to make an SB3 for continuing to edit locally
Project folderCreates a project folder in the folder you choose, saves to it and opens it. Shown in browsers that can choose folders, such as Chrome and Edge. Existing content in the folder is overwritten

Reorganizing save and export · SB3 save format

10.2 Restore a project from a restore point

If saving fails or you forget to save, open "File" → "Restore Points". You can restore the project from restore points that TurboWarp records in the browser at regular intervals. Choose the interval from five steps between "every minute" and "every 30 minutes", or "never".

Restore points are a last resort and can disappear. Keep your project by saving it.

10.3 Record project information in the SB3

"File" → "Project Properties" lets you record the project's title, description and author.

  1. Fill in "Project title", "Description", "Author name" and "Contact". The description can span several lines.
  2. Click "Apply" to apply the information to the current project; the project title in the menu bar changes too. Click "Cancel" to discard your changes and close.
  3. Save from the "File" menu to record the information in the project file.
The Project Properties dialog with fictional examples entered in Project title, Project URI, Description, Author name and Contact, and previews under Description and Contact. Below Created and Last updated are the Project Diagnostics…, Cancel and Apply buttons.
"Project Properties" with fictional examples entered. "Project Diagnostics…" at the bottom opens the loading diagnostics.

Choose the author name and contact from the history

The browser remembers up to five recent author names and contacts that you applied. Using a value again moves it to the top of the history, and you can edit a suggestion you pick. Only the values applied this time go into the SB3. If browser storage is unavailable, the history is available only while the editor is open.

An email address or mailto: address entered as the contact becomes an email link, and an https: address becomes a web page link, shown below the field. Email links open in your mail app, and web page links open in a new tab. Enter the description as plain text. In the preview below the field, HTTPS URLs can be opened as links.

Dates and saving to the SB3

The creation and last-updated dates are recorded automatically. A new project gets a creation date, and projects without date information show "Not recorded". The last-updated date is updated when a project file containing changes, such as to project information or blocks, is saved successfully.

This information is saved in the SB3 as Plus-specific project information. The author name and contact are visible to anyone who receives the SB3. Saving again in standard Scratch or TurboWarp, or in an editor with project information disabled, may remove the Plus-specific information, so keep the original SB3. For the storage details, see the project information and diagnostics specification.

10.4 Set the project URI to keep caches separate

In "File" → "Project Properties", enter an HTTPS address that identifies the project in "Project URI", then click "Apply". Addresses containing a user name or password, or a fragment after #, cannot be used. The applied URI is recorded in the SB3 the next time you save the project.

The Project URI field in Project Properties with an example HTTPS address entered. Below it, a note says the URI will be recorded in the SB3 the next time you save the project.
An example URL entered in the "Project URI" field.

For extensions that keep a cache per project, changing the URI makes later writes use the new URI. Changing the URI does not delete the cache; the earlier cache stays as it is. The cache is stored in the browser.

Setting the project URI

10.5 Choose the storage format for extension code

To add an extension, click "File" → "Extensions…" → "Add Extension" and choose the extension from the "TurboWarp Plus" list. With each extension's "Where it loads from", choose whether its code goes into the project or is fetched from an HTTPS server (the storage format of the extension code). When you click "Add" and then save the SB3, the chosen storage format, a SHA-256 for checking the code, and the run conditions are recorded.

Where extension code loads from
Where it loads from (when adding)Shown in "Extensions…"What is saved and what happens on opening
Keep a copy (default)
remote-cacheable
Fetch from HTTPS, caching allowedRecords the HTTPS URL. If the person opening the project allows it, the verified code is stored in the browser and reused.
Fetch each time
remote-non-cacheable
Fetch from HTTPS each timeRecords the HTTPS URL. The code is fetched and verified every time the project opens, and nothing is left in the browser.
In the project
embedded-file
File in the SB3Bundles the code as a file inside the SB3.
In the project, as a data address
embedded-data
Data in the project JSONBundles the code in the project data as a data URL. Standard TurboWarp can also load code in this form.

Change the storage format of an extension you already added

Open "File" → "Extensions…" to see the current storage format of each extension used in the project. For extensions with a recorded source URL, you can choose the storage format again. After choosing, click "Apply Storage Settings" and save the SB3. A project that uses no extensions shows "No extensions in use."

With storage formats that fetch from a server, verification fails if the content changes, even when the URL stays the same. Whether the project opens without a network depends on whether the code and data it needs are available locally. Even with bundled code, an extension that fetches external APIs or images needs a network.

To keep caches separate for each project, use the project URI. For detailed constraints and compatibility, see the SB3 save format and the extension list specification.

10.6 Choose the storage format for source data and assets

Open "File" → "Project Data…" to show "Project Data Formats". In the "Assets" section, choose a storage format for each asset, such as backdrops, costumes and sounds. If the project contains source data that applies, such as YAML for a supported extension, it is also listed in the "Source Data" section. When you choose a storage format that fetches from HTTPS, an "HTTPS URL" field appears for that item; enter the URL there. The content fetched from the URL must match the current data byte for byte.

The Project Data Formats dialog. At the top is an Add Bundle Material to Project… button, followed by the Source Data section and format menus for backdrop1 and costume1. costume1 is set to Fetch from HTTPS each time, with an HTTPS URL field below it. Cancel and Apply buttons are at the bottom right.
"Project Data Formats", opened with "Project Data…". A new project lists backdrop1 and costume1. Here, a storage format that fetches from HTTPS is chosen for costume1.
Storage formats for source data and assets
Item shown on screenWhen to use it
Use default storageClears the setting for that item and saves it the default way
Fetch from HTTPS, caching allowedIf the person opening the project allows it, the verified data is stored in the browser and reused
Fetch from HTTPS each timeFetches from the server every time the project opens
File in the SB3Hands the data over as a separate file inside the project
Data in the project JSONStores the data directly in the project's JSON

Click "Apply" and save the SB3. The chosen storage formats are used from the next save. If you need a one-off SB3 with the HTTPS-referenced items bundled in, choose "SB3 (embed configured scripts and assets)" in Save As. To read back data stored in the chosen storage formats, use an editor with the Plus extension loader enabled. When you open a project with HTTPS references, a list of the sources is shown and you can choose whether to allow fetching. The storage format of the extension programs themselves is covered in Choose the storage format for extension code.

Implementation of project data storage formats

10.7 Export a project as a single HTML file

Open "File" → "Export…" and click "Package Project". The project data needed for export is bundled into the output. For an ordinary Scratch 3 or TurboWarp project, the standard TurboWarp Packager opens in a new tab with the project loaded. For a project that records Plus-style extensions, the same action opens the Plus-specific output page instead.

The Export dialog, explaining that it creates a file for running or sharing the project and that project data needed for export is included in the output, with a Package Project button at the bottom right.
The dialog opened with "Export…".
  1. On the Plus output page, make sure that none of the Plus extensions depend on external APIs, models, images, audio and the like.
  2. Check the confirmation box and click the generate button. The page is currently shown only in Japanese, and the button reads 確認してHTMLを生成 (confirm and generate HTML). Extension code served over HTTPS is also put into the HTML after its content is verified. Sandbox settings are carried over as they are.
  3. Download and open the generated HTML. Extensions that meet the catalog's trust conditions run after being checked against the bundled hashes. For extensions that need individual approval, permission to run is requested each time the HTML is opened.

A project with no external dependencies works offline. This feature does not collect and bundle external APIs, images, models and the like automatically. In Packager output, text that uses web fonts is shown in the fallback font you specify. For details, see the loader and HTML output specification.