Snap being annoying

snap refused to save my project

can you be more specific?

go see the original post

if u cant then i explain

the project was more than 10 MB of media so it didnt save

i was making a TDS and added another map (there was only one)

Snap doesn't allow you to save projects over 10 MB to the cloud, because storage costs money. You can however export the project, which will save the project to your computer, no matter how big it is. If you want to share it, you'll have to share the xml file instead of just a link*.

If you do want to save the project to the cloud, here's some ways to reduce the project size.

  • *Remove duplicate costumes. * Sometimes you have duplicate costumes in multiple sprites. Snap stores those costumes multiple times in the project, so it takes more space. A way to make one sprite use a costume from another sprite is by doing this

    (Drag and drop the image into snap to get the script)
  • Remove sounds. Sounds are the biggest thing that takes up space. Removing sounds can come in different ways, removing duplicate sounds, shortening music (only keeping the intro and loop, nothing longer), compressing the sounds to a smaller file size, or just removing sounds that you don't need, or sounds you can create in snap.
  • Remove unused code. Most projects have a ton of unused code. You can easily find unused code by right clicking the scripting area and selecting clean up. This will put all scripts in the sprite in a single column. You can then go through this and remove loose blocks / scripts.

These are some ways to reduce the file size. Of course one way is to store the assets on an external server, and grab them when the project is ran, but it's a bit more complicated to do that (plus you need a place to store the assets).


You can store the project on an external website, like in a github repository, and set up github pages, then you can add the link to a parameter in a snap link to load the project from url. I can't remember what the parameter is, but I know it's possible (I've used it before).

To add to that, make variables whose value you don't need to retain as transient ones

Or whose value you can recompute after the project loads.


I wonder if the Scratch Team can share money with our Snap! Development Team (like Jens and bh) so that we can increase this storage...

I reduced the space the costumes take by putting dots in the corners of the costume instead of a hollow square. I do this so it puts the center of the costume where I want to be when it loads the costume in the first scene.

Maybe I should try some of the tactics you all told me earlier to further decrease my project's size, but I have duplicate costumes for a reason. I can't do what I did with the dots because this time the sprite is the tower, which shows. I don't know how to center a costume with even JavaScript, and it has to be in both scenes because the user needs to know what towers they choose to play the game with, and they need to show up in the game. I don't have any sounds though.

You were right about making variables transient. I noticed there was no variable in my project that doesn't get re-computed so I can make everything transient with no worry, and my project size went from 2,000 to 200 kilobytes!

I could try using github if the project reaches maximum size again and there's nothing else I can do.

Haha, that would be nice. We're friends, but we're not that close friends.

We've been thinking about ways to cache costumes, so if 20 projects all use the Alonzo costume, we could just store one copy that they all point to, instead of having to make 20 copies of it. There are some issues standing in the way, but eventually we'll find a way, I'm guessing.

Also we don't have the very cheapest possible cloud storage. That's another thing being looked into.

We're not so very worried about the handful of people with enormous projects. What's driving this is that we'd like to keep more backup copies of projects as users edit them.

As usual, don't hold your breath.™

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.