Demystifying Unity's Graphics Hardware Requirements
We have tested Unity on the following systems. We use the systems to identify the minimum specs required for Unity. We make the reasonable assumption that newer hardware from AMD, Intel and NVidia will be even more capable than the one listed below.
- System 1: Dell Mini 9, 1G RAM, GMA 950, 1024x600 screen resolution
- System 2: Pentium 4 2.4GHz, 1G RAM, ATI 3450 AGP (256MB) + fglrx driver, 1280x1024 screen resolution
- System 3: Pentium 4 2.4GHz, 1G RAM, ATI 3450 AGP (256MB) + open source radeon driver, 1280x1024 screen resolution
- System 4: Pentium 4 2.4GHz, 1G RAM, NVidia Geforce 6600 AGP (128MB) + Proprietary NVidia driver, 1280x1024 screen resolution
- System 5: AMD Socket A Athlon XP 3000+, 2G RAM, NVidia Geforce 6200 + free nouveau 3D experimental driver, 1280x1024 screen resolution
Here are the results of our initial experiences with the systems listed above. We consider the system stability, as well has its responsiveness and graphics rendering performance.
- System 1: Good
- System 2: Good
- System 3: Graphics artifacts
- System 4: Good
- System 5: Excellent
OpenGL Version required by Unity
Unity requires OpenGL 1.4 of higher. Because of the decoupling between Opengl versions and the first implementation of new extensions by hardware vendors, just having OpenGL 1.4 is not enough. The system must also have support for a number of OpenGL extensions.
OpenGL Extensions required
- Framebuffer Object
- Rectangle Textures
- Non power of 2 textures
- Vertex programs
- Fragment programs
- buffer objects
- GLSL shader support (Optional)
- Minimum 128MB of video memory
- Minimum texture width/height 2048
- Enough registers for vertex and fragment shaders programs
Hardware Release Dates
Here are the GPU hardware release dates of our test systems. They help us determine of far back we can go to find GPUs that can run Unity.
- GMA 950: May 2005
- Radeon HD 3450: 2008
- Geforce 6600: 2004
- Geforce 6200: 2004
Main OpenGL Features Specification dates
The release date of some key OpenGL extensions is a good indicator of when they where first made available by graphics hardware vendor such as AMD and NVidia.
- Vertex/Fragment assembly programs: 2002
- Frame buffer Objects: 2005
The following hardware have the required capabilities for Unity:
- All GPUs released today by either NVidia, AMD or Intel.
- GPUs released by NVidia and AMD over the last 5 years.
- GPUs released by Intel after the GMA 950 (*).
(*) Except for GPUs with no appropriate driver support or missing features.
Is Unity dramatically raising the minimum graphics hardware requirements?
No, Unity tries to take advantage of features that have beeen specified or released many years ago.
How do I know my GPU can run Unity?
There is a test program in Natty for that. Run this command:
It will tell you if your system has the required capabilities for Unity. This is the same program we run at boot time to decide if Unity will be started or if a fall-back should run instead.
What drivers do you recommend?
- Fglrx driver: We have had some issues with the fglrx driver but we have been able to resolve them. With the fglrx driver, you will be missing features such as Kernel Mode Setting (KMS).
- Open Source Radeon driver: can exhibit rendering artifacts on some systems. In the "System 3" configuration, Unity is not usable due to serious rendering issues.
NVidia GPUs: Nvidia propietary drivers; Experimental 3D nouveau driver
Intel GPUs: Intel open source drivers.
What should I be aware of before I try Unity?
- Avoid exotic hardware combinations.
- Use the right drivers for the right GPU.
- Avoid mixing libraries when trying to fix graphics problems.
- Not all GPUs have the computational power to drive a multi-monitor setting at high resolution. Choose your hardware according to your needs.
- All drivers have bugs, please reports them with as many details as possible.
- There are also bugs in Unity that we could have missed. Please, report them also.
What if my system does not have the required OpenGL minimum
We have Unity 2D. It works on systems that don't have the features needed by Unity 3D. It is a great way to have Unity without the hardware requirements.
What about the future?
We may need more OpenGL features to improve Unity in the near future. Yet, we will always try to support as many GPUs as possible. A reasonable target would be feature equivalence with OpenGL ES 2.0 . It is an industry standard that we believe many GPUs and drivers should be able to support already today, if not, in the near future.