One admirable aspect of Unity® is the ability to run it on many different platforms including MacBook Pro laptops and some Windows laptop and desktops that aren’t very high end. While it’s true that Unity® can run on all of these platforms, there is a lot of improvement that can be done for your machine to increase performance of the Editor on your machine.

Before investing in new hardware, you’ll want to know which parts will affect the performance of Unity®, and in which areas you’ll see the changes. There are a few features in the Editor that specifically bottleneck the software, while other features might not affect performance noticeably. These include starting up Unity®, applying asset import settings, importing assets, building executables, running in-editor, and any operations with many tasks that can be either from third party assets, your code, or Unity®.

To proceed, let’s talk more about the specifics of each of these categories, and how we can speed up Unity® while performing any of these tasks. In respect to the order in which you use Unity®, we’ll start with the topic of starting up the Editor.

Improving Unity® Startup Speed

When starting any application on any modern computer, data is typically loaded from storage into memory, which means that the data read speed of your storage device, be it a hard drive (HDD) or solid state drive (SSD), is what will affect how quickly an application will start. That means the drive on which you installed Unity® is bottlenecking the Editor’s startup speed. This can be noticed significantly as your number of project files and references to them in your scenes increase.

This can work in your favor since increasing the read/write speed of your machine has one of the most noticeable effects on efficiency of tasks. From personal experience, the differences between the speeds have exceeded expectations and made developing much easier as I switch between art, game development, programming, video editing, and other software.

So let’s talk about which devices you should invest in! If you’re currently still using a HDD, rather than a SSD, as your primary drive, I highly recommend upgrading to a SSD. Simply installing your Operating System on an SSD can have a large impact on how fast you can get to work. If you’re not ready to make a large investment in upgrading your HDD, I recommend at least getting a SSD with 120 GB storage or a little bit less so you can install your operating system and primary game developer tools, like Unity®, Visual Studio 2017, Adobe Illustrator CC, and anything else you use almost every day. I always recommend SSDs from Samsung’s line of EVO Solid State Drives as they perform exceptionally and are reliable.

Here are my recommendations if you don’t want to invest too much:

Samsung 750 EVO – 120GB – 2.5-Inch SATA III Internal SSD (MZ-750120BW)

Samsung 850 EVO 250GB 2.5-Inch SATA III Internal SSD (MZ-75E250B/AM)

And if you have an M.2 port on your motherboard, or are willing to purchase a new motherboard with an M.2 port, I highly recommend purchasing an M.2 SSD as I am currently satisfied with my own; you will notice the difference between one of these and a standard SSD. Here’s what I recommend if you’re on a lower budget:

Samsung 960 EVO Series – 250GB PCIe NVMe – M.2 Internal SSD (MZ-V6E250BW)

If you’re willing to spend a bit more on getting more benefit from your SSD, I recommend the larger storage options so that you can install additional software you might not use as often on your primary drive:

Samsung SSD 850 EVO 500GB, MZ-75E500B_EU

And the M.2 SSD that I personally use:

Samsung 960 EVO Series – 250GB PCIe NVMe – M.2 Internal SSD (MZ-V6E250BW)

Improving Import Options Application Speed

Whenever the import settings of an asset are modified, you’ll experience a wait time. This is because Unity® will not only be cycling through files to update the asset data in storage, but it will also update the asset where it’s referenced, such as the scene, and will be performing multiple other operations. That means that and upgrade to your storage device read/write speed and to your processor both can have a significant impact on this update speed.

To give you a real world occurrence of this, I’ve had personal experience improving the speed of changing import options. For example, when I changed the borders of a sprite I used to wait much, much longer than you would expect while a green bar inched its way across my screen. After I upgraded to a Kaby Lake i7 and an M.2 SSD, the loading bar no longer appeared. The operations were actually performed so much more quickly that the load times were no longer displayed. Here is the processor I upgraded to, as well as the M.2 SSD I upgraded to which I mentioned in the previous section:

Intel 7th Gen Intel Core Desktop Processor i7-7700K (BX80677I77700K)

Improving Asset Importing Speed

Have you ever downloaded a large package from the asset store, and waited ten minutes or more for it to import? 3D assets or audio are good examples of assets that can cause these wait times, and we can make it happen faster with an upgraded SSD, as that is where the bottleneck lies since we are saving many files to a location on our HDD or SSD. You’ll want one of the SSDs that I recommended above in the Improving Unity® Startup Speed section. There is also some performance upgrade to be made with upgrading your processor, as Unity® will perform various actions across the Editor. Here is the processor I currently use:

Intel 7th Gen Intel Core Desktop Processor i7-7700K (BX80677I77700K)

And my M.2 SSD:

Samsung 960 EVO Series – 500GB NVMe – M.2 Internal SSD (MZ-V6E500BW)

I also recommend looking at the above recommended SSD options if you don’t have an M.2 port on your motherboard, or if you don’t want to invest too much in an SSD.

Improving Game Build Speed

Building a game consists of compiling code and assets into an executable program that will become your end user’s experience. In short: a lot of stuff happens. Game builds will almost always have some notable wait time to them that lengthens as you add more code and assets to your game. However, you can speed it up very noticeably with the right CPU upgrades.

I would recommend an Intel processor from the 6th or 7th generation. You also have the option of waiting for 8th generation, which is rumored to have a more potent performance upgrade than the 7th generation line and be release around the end of the 2017. I suggest sticking with an i5 or i7 if you want a good boost to your build speed. If you decide to settle with a 6th or 7th generation, here are my recommendations, from lowest price to highest:

Intel Core i5 6500 3.20 GHz Quad Core Skylake Desktop Processor, Socket LGA 1151, 6MB Cache BX80662I56500

Intel Boxed Core I7-6700 FC-LGA14C 3.40 GHz 8 M Processor Cache 4 LGA 1151 BX80662I76700

Intel 7th Gen Intel Core Desktop Processor i7-7700K (BX80677I77700K)

Improving In-Editor Gameplay Performance

One important thing to know about Unity® is that games running in-editor are more resource intensive than running an executable or ‘built’ game. To ensure you have strong performance testing your game, I recommend installing a high end video card and processor. You can view the processors I recommend just above this section, and I recommend purchasing an NVIDIA video card from the 900 series or higher tier. Personally, I use an MSi GTX 950 2GB Memory video card. I recommend any of the following cards:

EVGA GeForce GTX 1050 Ti SC GAMING, 4GB GDDR5, DX12 OSD Support (PXOC) Graphics Card 04G-P4-6253-KR

MSI Computer Video Graphic Cards GeForce GTX 1050 TI GAMING X 4G

Gigabyte GeForce GTX 1060 Windforce OC 3GB GDDR5 Graphics Card (GV-N1060WF2OC-3GD)

All of these cards are from reputable brands and will give you the performance you need to test your game in the Editor.

All right, these are the most notable parts I recommend upgrading if you want to improve the performance and speed of the most notable operations you’ll be performing in Unity®. If you have any questions about hardware compatibility, or further need assistance choosing which parts to purchase, drop me an email at bilal@xenfinity.net.

With that said, I’ll see you in the next post, or maybe on our YouTube channel!

Until next time,

Bilal