Bloat Tests

I just ran some tests on my laptop (core i5):

Unity 5.6.5. Time to create new project: 10 seconds. Size of empty project: 9Mb 165 files
Time taken to start empty project after pressing play: 2 seconds.
Unity 2018.3. Time to create new project: 80 seconds. Size of empty project: 40Mb 1888 files
Unity 2020.2. Time to create new project: 90 seconds. Size of empty project: 50Mb 4666 files
Time take to start empty project after pressing play: 3 seconds.

Conclusions: If you want to do fast prototyping and make games quickly, use Unity 5.6.5. Which is quite good because you can store all your files in dropbox because there aren’t thousands of files to sync up. It is an overall more enjoyable experience.

If anyone has any tips if it is possible to make Unity 2020 start quicker or have less files in an empty project as Unity 5.6 (Or you know what all those extra files do?) please let me know. Have a nice Christmas

Edit: New Christmas Conclusions
My new conclusion is that Unity 2020 is the best option. If you want to create projects fast for mucking about with I recommend doing this:

  • Create an empty project and remove all the packages with the package manager and call it ā€œTemplate Empty Project 2020ā€.
  • Save this project somewhere nice.
  • Whenever you want to create a new project quickly just make a copy of this empty project.
  • This will save you valuable seconds of your life.
  • Happy Christmas.

Dropbox isn’t ment to be used for that, use git

1 Like

I tried deleting the metadata folder from the empty project of Unity 2018.
I got it down to 26Mb and 836 files.
But then went I opened the project it rebuilt all those metadata. Which I don’t really understand as metadata is supposed to store asset data but an empty project doesn’t have any assets. So probably there are some assets added to the empty project somewhere. (Probably all those packages it adds!)

But I’m not sure how to load it without packages from the Hub. There is only the choice between ā€œ3Dā€ ā€œ2Dā€ and ā€œPipelineā€ etc.

That’s not a good conclusion, because functionality is not equivalent. Meaning by using 2020.2 you get access to things you can’t do in 5.6.5.

Also, there are hungrier engines out there. Unreal has tendency of devouring disk space, and you should expect at least 20 gigabytes per project to be wasted on temporary/intermediate files.

I solved it a somewhat.

Basically what you do is this for Unity 2018: Use package manager to remove all packages (except for package manager).
This reduced it to: 14.6Mb and 789 files. (Still too many IMO but better than before).

I tried deleting the metadata folder which got it down to 5Mb and 297 files. But then these went up again to 14.6Mb after I opened the project. Probably the package manager itself is using lots of files. Problem is I can’t really remove the package manager in case I actually need some packages! Why did Unity make package manager a package(!!!) *** Facepalm*** :hushed::sweat_smile::eyes:(Yes I know why!)

Anyway doing this also decreases the time it takes to start the project down from 3 seconds to 2 seconds.

So basically. The moral is: delete the packages you don’t need.

Now, I will investigate how I can start Unity without loading any packages.

My conclusion is this: The basic engine of Unity 2018 is just as fast as Unity 5.6 but it is getting slowed down by unwanted packages.

My journey continues…
Using Unity 2020, package manager is no longer a package :):smile:. So that means I can uninstall all packages. (also I deleted the library/Artifacts folder for good measure. Not sure if necessary).
Now that gets me down to 4.6Mb and 140 files.

I suspect its mainly the TextMesh package that is the biggest thing. But that is just my guess so sorry to accuse it.

I will report back if I find out which packages are taking longest to load.

Note that you generally should not be storing your Library folder in any kind of source control or collaboration tool (Dropbox, Git, whatever). If you share your project and then both you and someone else are editing it at the same time, using a shared Library folder, it will break both of you very quickly.

The folder is effectively a machine-local ā€˜cache’ of data produced by processing the other folders (e.g. the results of importing assets) - if it is missing then Unity will just recreate it.

1 Like

Of course, I must say it is a bit of a design flaw on Unity’s part to have the library folder in the same folder as your project folder. It would have been better to have one folder which you could dump into source control and have all the other files in another folder. But such is life. :roll_eyes: (e.g. the library could be built in AppData or something. IDK. )

My real beef was just the 90 second start up time of creating a new project. But I solved this now by creating an empty project. And whenever I want to quickly start up Unity I can just copy this project and boot up Unity.

Yes, I’m a very impatient :smile:

You use git ignore for that, same thing wit bin/obj folder and user setting etc for a vanilla.NET Project

Use the WIP forum if you want to do a devlog. Closed.