A user's backpack.

The backpack is a feature of the Scratch 2.0 project editor that allows users to drag and drop costumes, sprites, sounds, and scripts from other projects into it and then drag and drop them easily into their project. This can be used to create multiple copies of a script or add a script to a different project.

For example, one can drag their platformer engine into their backpack to use in another platformer game they make, without the need to recreate the whole thing. The backpack is collapsible, so, if the user is not using it, it doesn't waste space.

This feature is different from previous versions, because even if a project is downloaded, the files used within it are not easily accessible for use in another project, and the user must export the media first.

The contents of a user's backpack (in the form of JSON code) can be accessed through a GET request to
https://scratch.mit.edu/internalapi/backpack/USERNAME-HERE/get/

However, one can only access their own backpack, and therefore one must be authenticated (logged in) to access the above endpoint. If a user attempts to access somebody else's backpack, they will see a 403 error.

Adding Media

To add media to the backpack, open the backpack by clicking on the "Backpack" tag at the bottom of the screen. Then drag a sprite, sound, costume, or script fragment into it. There is no limit as to how much media the backpack can contain[citation needed]. Media can also be clicked and dragged around throughout the backpack for organization. To remove media from the backpack, right-click on the desired item and select "delete".

One can also set the contents of a user's backpack through a POST request to
https://scratch.mit.edu/internalapi/backpack/USERNAME-HERE/set

The X-CSRFToken must be passed with the CSRF token (which can be found in the scratchcsrftoken cookie); and should pass a JSON payload as the body of the request, containing the desired backpack. The user must be authenticated (i.e, logged in).

Adding Scripts through the Forums

Archive.png This article or section documents a feature not included in the current version of Scratch (2.0). It is only useful from a historical perspective.
Warning Note: This feature was only usable with scripts that use blocks included in the current version of Scratch (2.0). If the "Add to Backpack" button did not appear, it was probably because the script contained an undefined (red) block.

To add scripts to the backpack from the Discussion Forums, one would click the "Add to Backpack" button next to a script. It would ask you what the script should be named, and once you click "Okay," it will be added to your backpack.

Using Media

To remove media from the backpack, in the same or another project, one can open the backpack by clicking on the tab, the same way as before. Then, one can click and drag the media out of the backpack and into the project editor. Specific types of media must be dragged into specific areas of the project editor. For example, one cannot drag an image into the sound editor, as it will simply disappear and cause no function. When dragging media from the backpack, the object is not removed from the backpack but duplicated.

If an item icon has a question mark on it, it means that the item has failed to be fully be put in the backpack. It does nothing when dragged to the project.

Exporting

Some media can still be exported from the backpack. The following media can be exported by right-clicking on its icon and selecting "Save to Local File":

  • Costumes

Information

  • The backpack shows an icon or image of the media in it, along with some information about it.
    • For a sprite, it has the thumbnail of the sprite as it was dragged into the backpack, along with the name of the sprite.
    • For a costume, it has a thumbnail of the costume, along with the name.
    • For a sound, it has a sound icon, along with the sound's name.
    • For a script, it has a thumbnail of the script, and the text "Script".

Glitches

There has been a glitch which the Scratch Editor ignores some sounds when dragged out of the backpack.[1] The only workarounds are exporting sounds and then importing the sound in or making a random sprite with the sound, dropping it into the backpack, and duplicating it into a new project.

References

  1. http://scratch.mit.edu/discuss/topic/10666/

See Also