Hey there. I'm a fairly frequent user of the Scratch Forums, and I often see misconceptions about the project size limit. Most of these misconceptions came from the era of Scratch 2.0, where projects had a hard 50 MB limit for the entire project. However, that's not necessarily true anymore, so let me tell you about the 2 new size limits in Scratch 3.0:
- No asset can exceed 10 MB.
What does this mean? Essentially, an asset is a costume or sound file. If any one asset exceeds 10 MB in size (usually a sound file), then the project will refuse to save. (Note that it is possible to have multiple assets that total to over 10 MB, as long as none of the assets are over that size on their own.) You can usually get around this by converting the sound file to MP3 or splitting the sound file into chunks, or both if really necessary.
- The project.json file cannot exceed 5 MB.
What does this mean? The project.json file is a file inside the Scratch project that stores, among other things:
- all code in the user's project
- information about sprites and assets
- any list values that were saved with the project
Most of these take up very little space, but it is possible to exceed the limit by accident. Keep in mind that this limit applies to the uncompressed size of project.json, and not its compressed size - for example, if project.json is 5.1 MB uncompressed but only 900 kB compressed (when it's inside the project file), the project will refuse to save.
It's worth noting that these are the only size limits - there is no limit on overall project size. You can have a project that's 100 MB or more, as long as it does not exceed either of these limits (although such a project will take a very long time to load and save).
Although these are the most common causes of projects that don't save, there are a few other causes, such as login issues and other things that aren't relevant to this topic.
To the best of my knowledge, these are the current and only size limits. If any authoritative source that is not outdated says something else, please let me know. Thanks!
Edit: So somehow this got stickied. Thank you to everyone involved in that.