The graphics hardware that ultimately renders a scene is controlled by specialised graphic programs called Shaders. The capabilities of the hardware have improved over time in phases and the general set of features that were introduced with each phase is known as a Shader Model. Progressive shader models have added support for longer shader programs, more powerful branching instructions and other features and these improvements have enabled parallel improvements in the graphics of games.
Unity currently supports two shader models in the targeted graphics hardware: Shader Model 2 and Shader Model 3. The graphics cards that implement each model are listed below.
Additionally, some graphic effects used in Unity (in the Image Effects, for example) also require depth textures. Cards with support for depth textures include:-
Unity allows you to render your game using an inferior shader model to the best that your graphics card offers. This is useful during development to see how the graphics will look on an older machine.
To choose the Graphics emulation level, go to Edit > Graphics Emulation on the menu. Note that the available options change depending on the platform you are currently targeting in the Build Settings. For desktop machines, Shader Model 2 and Shader Model 3 will appear as emulation options, while on mobiles, you can only choose OpenGL ES 2.0. You can restore the full capabilities of your hardware by choosing No Emulation. If your development machine doesn’t support a particular shader model then it will be hidden on the Graphics Emulation menu.
Although emulation is a quick way to check out graphics capabilities, you should still test your game on actual hardware. This will reveal real performance and any peculiarities of the specific graphics card, operating system or driver version.