I’m looking into a proper game dev rig and have been having a really hard time finding updated specs on Unity and what hardware I should be aiming for.
It would be really helpful if someone could make a sticky of the actual specs/requirements for running Unity, such as:
Multi-core support - and by extension what, therefore is the best current CPU for Unity
GPU-related - can Unity use CUDA, is PhysX aided by getting a prosumer (gamer) card, etc…?
RAM speed
HD/SSD/Hybrid Drives - some benchmarking and discussion of script compiling and stuff
AMD vs. Intel
Radeon vs. GTX
… what affects lightmapping times?
… is your system build capable of realtime editing (in the Game window)
… can you edit at full spec (highest graphics settings, etc…)?
Surely lots of other questions need to be asked as well.
I’ve tried this site, Tom’s Hardware, websearch… loads of sites… and it’s been difficult to get straight (and current) answers to anything. So if you know how Unity works and what effect hardware has and why please chime in.
The sort of build I had in mind (based on Cinema 4D/3DCoat specs) is roughly: fastest i5 (single core speed is all-important), standard speed RAM, SSD, GTX 1060 (price/CUDA - for 3DCoat - /speed balance). Overclocking is pointless and even though I’d favour an i3 for price and fewer cores (less waste) they underperform in benchmarking and according to general consensus fairly suck at gaming - even though the specs are great.
Interestingly, I’m actually getting started on a project right now to answer all those questions. I do a lot of hardware benchmarking and publishing of articles for Puget Systems (workstation manufacturer in Washington, USA) and Unity is up next on our list. I’ve been trying to figure out exactly what to test in Unity and so far want to tackle:
Compile times
Import assets speed
In-Unity FPS
Bake navmesh speed
Lightmapping speed
Anything else we should test?
I can’t directly answer your question with specific benchmarks quite yet (give me a few months), but my current understanding is that most things in Unity are going to benefit from having a CPU with a high frequency. The only for sure exception I know of is compiling which should greatly benefit from having more CPU cores. For you (and most people), a quad core i5 or i7 is probably the best choice though. The 6-10 core Intel CPUs and AMD Ryzen CPUs will be better for compiling but the more commonly done tasks will be better with the higher frequency quad core CPUs. But if compile times are a big concern, you could look at the higher core count Intel/AMD CPUs.
Don’t worry about RAM speed too much, it usually only makes a minimal difference. DDR4-2400 is our go-to right now since it is very stable and matches the current Intel CPU specs. Just make sure you get enough. 16GB should be plenty for most users, maybe 32GB if you tend to have a ton of things open like Unity, C4D, 3DCoat, lots of browser tabs, etc. or want to future-proof.
Definitely get an SSD, two if you can swing it (one for OS/programs, one for your projects), but the newer M.2 NVMe drives probably won’t give too much of a performance benefit. Better to spend that money on a faster CPU than on a M.2 NVMe drive. Standard platter drives are usually reserved for long-term storage these days and I would recommend against hybrid drives as well. They sound great on paper and work well for some things, but especially for write speeds they can’t compete with SSDs.
For GPU, the GTX 1060 you mentioned is a really good mid-range card but get the 6GB version if you can. Some GTX 1060 cards come in a 3GB version which isn’t really enough for most people - especially if you use dual monitors. You can get more bang for your buck with AMD though so if you are looking to get every little bit of power for your money you could consider one of the Radeon cards. We typically go with NVIDIA over AMD, however, due to some reliability issues we’ve had with AMD over the last few years so that is the route I would recommend.
Without know the exact specific model numbers, the build you have in mind sounds like a pretty good balanced system. Also, your questions are exactly what we want to answer so if there is anything else you would really like to see us include in our benchmark testing, let me know.
System requirements have been given for Unity, but we cannot know your project system requirements ahead of time. If you are developing a simple mobile game it won’t add much but if you were developing a high-end desktop title the requirements would be drastically different.
Primarily CPU but if you don’t have enough RAM for your current project that can affect it too.
Yes.
Yes.
Yes and no. Some tasks are only single-threaded while others are very multi-threaded. The AMD Ryzen 7 has twice the cores with only a loss of about 10% IPC (Instructions Per Clock) of an equivalently priced Intel processor. For some tasks (lightmapping, compiling, etc) you will have far better results with more cores than with a slight increase to single core performance.
For anything but a high-end title that would be fine. By the way faster memory might make sense in some situations (for example AMD’s Ryzen’s internal performance is greatly affected by faster memory) and plenty of it (at least 16GB).
Edit: Thought I’d explain the issue with Ryzen a bit further since it might not be well known. Internally Ryzen’s cores are divided up into modules (two modules for consumer Ryzen) and are connected together by a special bus with a very unusual limitation.
Said limitation is that the speed the internal bus operates at is directly tied to your RAM speed. If your RAM is slow, the bus will be slow too. For tasks that need more cores than a single module has you will see a noticeable difference in performance by buying faster memory. For OSes that don’t know enough to keep the task on one module and may split it across them you will see it for that too.
Yes and no. Manual overclocking is pointless because it hasn’t been exhaustively tested by the manufacturer, but automatic overclocking (eg Intel’s Turbo Boost, AMD’s XFR) will have been and is almost always being used in some form by modern CPUs.
Thanks for that comprehensive reply. It’ll be great to finally get some evidence-based replies to these age-old questions.
Here are some additional thoughts:
There seems to be a consensus that SSD’s speed up compile time dramatically. That could be worth testing.
I’d like to see what has the greatest effect on lightmap creation and running at high spec - is it GPU or CPU dependant?
Are tasks in Unity predominately single or multi-core? The older threads on this say almost everything is single core due to cross-platform compatibility issues.
How does Unity 5.6 compare with the 2017 beta?
What systems do optimisations target? So if you were to optimise various aspects of the game build which systems/components see the greatest performance gains? Does optimising the physics see a performance levelling between Nvidia and Radeon for instance?
How does the builders PC system performance compare to the end-user system performance? Using the physics of Radeon vs Nvidia again - if I’m using a GTX 1060 6gb for a 3d Thief-like game with lots of rigidbodies and simulated physics stuff - it might run fine on the GTX but how will the end product run on a Radeon? And are there platform-specific optimisations that can be employed to level the playing-field?
Also, slower Xeons can often outperform other CPU’s where they shouldn’t and i3’s under-perform where they should excel - I’ve seen this a lot in Cinema 4D benchmarking. This would be well-worth looking into considering the price disparity and what you said earlier about more cores = better compile. Whereas users say SSD = better compile. It would e very interesting to see if more cores+SSD = even better compile or if there is an upper limit/diminishing returns. Also be interesting to see if a system weighted towards either SSD or mutli-core compiles better, equally or just differently -as in lag/freezing or favouring types of scripts - long, short, complex, error-handling…
Does Intel’s new Optane fall into the same category as Hybrid drives - ie: not worth it?
Textures, nav mesh, occlusion culling performance across systems weighted this way and that.
Xeon’s have a large cache - does that make a significant difference to anything? Because in Cinema benchmarks most lower clockspeed Xeons way outperform much higher clocked i3’s on single core tasks.
Also, since Unity and game dev in general really utilises every element of the computer to its utmost we’re also talking about the interplay of those discreet parts - or the Balance. This would point to the motherboard would it not? And since we have gaming motherboards, server ones and consumer grade it would be really useful to see how much of a difference motherboards make in Unity. Especially when CPU cores and SSD both have an impact on script compiling - how do different motherboards balance those contributions to the task? Do they favour one or the other? Is there a case where a cheap motherboard has great SSD throughput but lousy CPU mult-core support - but it doesn’t matter because it will balance well and your scripts will compile just as fast as they would on a top-end motherboard?
I think ultimately it would be helpful to the community to make system or upgrade suggestions based on the benchmark findings because the results will likely still be open to interpretation because its really about testing the interoperability of parts and how that can be weighted towards a general use-case scenario. Correct me if I’m wrong though. What I mean is - there’s so much speculation floating around that having benchmarks of individual parts could only deepen the intrigue and confusion. People will say the benchmarks are rigged against AMD, that benchmarks don’t apply to real-world scenarios, that certain performance gains are entirely subjective (ie: HD lag) and relate to perception rather than actual performance gains.
So that’s why I think testing as many combinations to see how well the parts play together would be really helpful to pre-empt and diffuse the endless and useless speculation that often results from vague or incomplete benchmarking. And why I think perhaps including motherboards could be really useful as the missing link between all the parts and technologies people get so attached to and defend to the death. Also including AMD-friendly benchmarks as well as as much real-world testing and even subjective feel-based testing as possible might save you a lot of hatemail in the long-term. Cos the feels will possibly indicate the overall balance of a system - how at-one it is with the user’s demands and intuition. And that could be a way to then narrow down what is causing that cohesion in the system (or perceived cohesion) and help to quantify it.
And lastly - architecture (I think that’s the correct term). Maxwell vs. Pascal, Broadwell, Opteron. Kaby, and so forth. In Cinema/Rendering Land there was much debate about Maxwell and Pascal because the older one was supported so it worked much better than the newer more expensive one(s).
There was also talk of building a monster Xeon render farm for $70. There are some Youtube videos comparing the $70 Xeons to newer AMD and the like.
I guess you have to decide on what limits to set. I’ve waffled a bit but I hope there are a few decent ideas in there. Good luck wading into the minefield.
PS… as per Ryiah above - overclocking has been declared useless in 3D Land because only the base clock speed is used. This applies to both the CPU and GPU. You can find discussion of this on Cinema forums, I think the Furryball FAQ and possibly other related forums as well.
But… does it apply to Unity?
PS, PS: just found this random article which deals with Ryzen memory latency but more importantly the comments section addresses why Xeon’s outperform i3’s on single-threading and has something to say indirectly about Unity. This could be highly relevant in comparing 5.6 to 2017 beta and beyond as they are talking about how well the engine can utilise the latest components.
IMHO, it’s always a folly to chase top specs for any rig.
If you go all mid range, aside from it being 1/10th the cost, you can see bottle necks on an average system long before you can on a smoking potato.
Besides, your money is better spent on assets, peripherals (like drawing tablets), and hired work.
My advice:
Go to pricewatch.com and pick out a motherboard/cpu combo, some ram, a GPU, a case, a HD, and an optical drive. Just look for the price break. Usually the price grows fairly steady then suddenly starts to spike, so just buy the parts before the price spike.
I would, however, put up a little more for a descent power supply.
As far as brands go, I personally prefer:
-ATI for the GPU
-Case, motherboard, and optical drive don’t really matter.
-A US brand for the power supply
-For memory not the cheapest, but also not the one that looks like a Power Ranger
-Intel (since AMD went through their crisis)
Oh, and don’t go crazy with the cooling unless you live in the tropics or something.
Before I tried all of that I would have agreed with you. No wait, I did agree.
Now, battle-worn and hopefully a little wiser I’m going it alone and buying a decent rig. Each to their own workflow but this is me after roughly a week’s work:
I never got close to that in 3 years of working with others, outsourcing and buying assets. And I had the nightmare of dealing with horrid people and just unbelievable stress. Plus there’s waiting overnight for a lightmap to burn. No thanks, been there, didn’t like it. It’s definitely a new rig for me.
One night waiting for lightmaps is nothing. There are horror stories floating around of Enlighten taking up to an entire week for a high-end rig with a complex scene. Ironically Unreal 4 which appears to be significantly more demanding as an editor has one of the fastest lightmappers available. Many times faster in fact.
Just be aware that for all of the problems AMD has it’s by far one of the cheapest. Currently their best processor is $500 and the closest performing processor from Intel is $1,700 for a performance benefit of only 10%. That’s over triple the cost.
Well if you’re a little creative you can beat that, I managed to get a 14 Core Xeon 2697wv3 for $700.00 via e-bay… It’s roughly 40% faster than a Ryzen… Of course the Ryzen will edge it in single core performance (as it tops out at 3.6Ghz) and Xeon’s can’t be OC’d.
But there’s some other cool stuff to consider, if I want to replicate a gaming laptop or mid ranged machine I can drop the cores and disable the turbo. Also for light baking etc. it is of course super quick…
But personally for a generic game dev system, I’d be tempted to go I7 7700K… I mean it’s $300.00 and fast as hell.! It works well in every application type and the biggest thing with high end I7’s / Xeon’s it’s not just the expensive CPU you’re paying for… It’s also the expensive X-99 platform as well…
So again it would be between the I7 7700K and the Ryzen 1700X for me, the 1800 doesn’t have enough benefits to support the increase in price. A small bit of OC will put them on par with each other.
Huh, I haven’t built a rig in a while so I’ve been out of the loop. But it’s good to hear they’re recovering after their CEO gutted the company.
That was what happened, right?
Anyway, I did prefer AMD for a long long time. Still do. But I was hearing from multiple people to stay away and remember that they are pretty much nonexistent on laptops anymore.
Two and a half years have passed since this thread was created and to be completely honest unless there is a massive difference between the cost of SATA and NVMe or you don’t have the slots on your motherboard you should just choose NVMe as the performance is worst case tied with SATA and best case several times faster.
Additionally there is at least one drive on the market (linked below) that worst case is several times faster than SATA.
Worst case here is defined as Q1T1 activities which are the majority of everyday tasks with best case being sequential.
It just seems less exciting for the money than the 3900x to me. You’re paying 50% more for 33% more cores and slightly higher clock than the 3900x. That money might be better spent on a better monitor, or some other upgrade.
For similar reasons, I don’t think the 3600x and 3800x are smart buys either, though the 3700x isn’t a bad choice.
I was just speaking from my own opinion. It is obviously a great CPU, and your budget may be different than mine. If I were building a $2500+ workstation for example, it probably would have the 3950x.