Yeah, the post on the wiki is pretty outdated and should be updated.
(Obviously) what hardware is “optimal” depends on what you’re working on to some extent. A lot of indies work on stylized, low-poly or even 2D games. For such games you wouldn’t call a GTX 1070 or higher “optimal”, but “colossal waste of money”. The idea that it doesn’t hurt to buy a stronger graphics card is also not entirely correct. That only applies if you’re rich, because if you’re not, it means that those couple of hundreds of dollars you spent on a graphics card (that won’t make any difference) are dollars you can’t spend on something that would actually benefit you in a tangible way.
In general there are some differences between a good PC for gaming and a good PC for game development. Take monitors for example. As cool as those technologies are in their own right, ultrawide, 4K and especially high refresh rate monitors aren’t money well spent. [HR][/HR]
Unless you’re rich, high refresh rate monitors are a no go. Running the editor or Visual Studio at 120FPS won’t make you a better developer in any way, shape or form, period. Cool for playing, doesn’t help you whatsoever while developing.
You can make a case for 4K, because a higher resolution means more space and that’s definitively useful. The problem with 4K is that the resolution is so high that, unless you have some ridiculously big screen (which comes with its own problems) you’ll have to turn on DPI scaling to make everything bigger. Otherwise you won’t be able to read any text. And that defeats the aforementioned benefit of getting a higher resolution monitor. Sure, the image will be sharper, more detailed and you can set up the scaling so that you still have more space than on a 1080p screen, but you still paid a lot of money on pixels that don’t translate to usable space. There are resolutions between 1080p and 4K.
Ultrawides are cool and all that, but two 16:9 monitors still give you a lot more space.
Here is a list of things I would look for when buying a monitor primarily for developing:
- 25" - 30" (obviously depends on how much space you have)
- 2560x1440 resolution (about twice the pixels of 1920x1080, can be used without scaling, therefore tons of extra space with no waste)
- Matte (non-glare) finish (better under difficult light conditions, won’t show you distracting reflections)
- IPS panel (excellent viewing angles and colors, bright so they won’t be a pain in if the sun shines into your workplace during summer)
- 60 Hz (because more won’t help)
- Get 2 or 3 of those
Those things actually matter. Everything above that is a luxury you can invest in, if you have the money. [HR][/HR]
RAM? The more the better. The only problem is that RAM pricing is absolutely bonkers right now. While you can work with 8GB, I would strongly recommend to go with 16GB or more. Make sure your mainboard has 4 slots and buy sticks with at least 8GB of capacity. That way you can go up to 32GB. 2x8 are a nice start, but in a pinch 1x8 would work, too. 2x4 would be a bad idea, because then you’d max out at 16GB.
Summary:
- Don’t go below 8 GB
- 4 DIMM slots on your mainboard
- 8 GB/stick or more
[HR][/HR]
Graphics card? You want to be able to run the editor at stable 60 FPS at reasonable settings before optimizing your game. Ideally your graphics card should be strong enough to run the game at max settings all the time, but, truth be told, you don’t have to. If you run the editor at high settings with 60 fps, that is good enough. If the maximum settings cause framerate drops that’s not a problem, because all you really need to do is check if there are graphics glitches anyway. Then you can go back to high. It’s worth noting that 4K monitors will make that substantially more difficult. I can’t speak for 2D games, but if you’re working on 3D ones at a high resolution (e.g. multiple 1440p monitors), don’t go below a RX580 8GB/GTX 1060 6GB. I have two 2560x1440 monitors and a 1280x1024 one. From the experiences I made, you wouldn’t want a card that’s slower than the GTX 970 that I have.
Summary:
- RX 580 8GB or GTX 1060 6GB or better (for 3D, depends on your game, faster cards like a Vega 56 or GTX 1070 may be a good investment for higher end games)
[HR][/HR]
SSD? Yes, get one. I have two. 1. My old 250 GB SATA SSD for Windows. I use it for all the development related tools (Blender, Substance, Visual Studio, etc.) and the FASTBuild cache (I use a customized engine that I need to compile myself and FASTBuild greatly reduces the time it takes to recompile the engine after making changes). 2. A brand new 256 GB M.2 NVMe SSD that is entirely dedicated to Unreal. The only things on there are the engine, the plugins and my game’s project files. Space-wise I’m fine.
Getting one large, good hard disk is still recommended. You can keep other applications, games and the source files for your assets (i.e. textures, models, sounds, etc.) on there.
Summary:
- SSD absolutely worth it
- M.2 NVMe SSD with 256GB is enough for Unreal and your game, even if you build from source
- 500 GB, if you want Windows and other tools to be on fast storage, too
- Big (2 TB or more) HDD very much recommended
[HR][/HR]
CPU? Here is where I think some peopleSUP[/SUP] will disagree. If your plan is to build a system primarily for game development, which would mean that you optimize it for that purpose, and if we assume that those ridiculously expensive CPUs and motherboards on the highest end are out of the question (as they are for most people), then I don’t think Intel is at all competitive with AMD right now. Where Intel shines, where they handily beat AMD, is in single-threaded performance and you don’t really need much of that in Unreal as I found out. Single-threaded performance is important in two scenarios: 1. Applications that don’t use more than one core. 2. Running games at really high framerates. As I already pointed out earlier, running the editor at crazy framerates won’t help you at all. As for the first point, all I can say is that Epic did a great job optimizing the editor/engine. I can’t name one thing in my day to day development process where the single-threaded performance advantage of Intel would matter. What I can name you are two where AMD’s multi-threaded advantage does, and in a big way: compiling and building lightmaps.
When I switched from my Intel Xeon E3-1231v3 (4 cores/8 threads) to the Ryzen 7 1700X (8 cores/16 threads) I have now, that switch alone cut the compile times down from 46 to 31 minutes. As it turned out, a substantial amount of that time was my hard disk choking on all the data, so moving the engine (partially) onto my old SATA SSD, cut it down to 25 minutes. That’s a big deal. AMD’s current lineup of CPUs isn’t as fast in single-threaded applications as Intel’s, but they aren’t bad in single-threaded workloads by any stretch of the imagination.
Let me put it this way: If you get a Ryzen 7 2700X over a Core i7 8700K and run into a CPU bottleneck, chances are that this is E N T I R E L Y on your incompetence as a developer. People can play modern AAA games at more than 60 FPS with CPUs that are slower than that. So what’s your excuse?
Summary:
- As long as the single-threaded performance doesn’t outright suck, more cores and threads are the better investment (accelerate the engine where you waste the most time)
- Ryzen 7 2700 (and overclock it)
- Alternatively Ryzen 7 2700X (will overclock itself, if it is decently cooled)
- On a budget, the Ryzen 5 2600/X are your best bet
Hope this helps.