Have you you ever tried adding some custom rendering functionality using the graphics device to the free SDK of CryEngine? If you did, you probably had some trouble doing that. If you didn’t, you saved yourself from a lot of pain . Having low-level access to the device opens up a lot of possibilities – you could create your own textures, buffers, graphics states and whatever else you want. In some cases the CE3 FreeSDK API isn’t rich enough for you to make the changes you want. This is the case with our integration of Coherent UI for CryEngine where we need this low-level access and can’t do anything useful without it.