Lets just preface this with, my game is based around the concept of modding, so I wanted pretty much every asset (except things like materials, blueprints, etc.) to be interchangeable without having to through any kind of cooking process, or even have the editor involved. So most of the changes were to accommodate loading assets directly from disk. Others were just features that I felt that I could use somewhere along the lines ie. Texture arrays. And finally other changes were mainly to rectify a bug (I usually always look to the master branch first, if there is a commit that may fix the issue, I will cherry pick it into my branch, so even tho i run 4.8p3 at the moment, I have fixes from the master branch merged in).
Some things have been really small changes just to allow a little more flexibility. Like adding a few switches around the rendering that allows me to know from a scene proxy wether or not the current pass being rendered is a shadow/depth or custom depth pass, allowing me to adjust translucent meshes materials to masked, to cast standard shadows (rather than translucent shadows). This currently is broken due to the caching of passes in 4.8. Looking for alternative workarounds.
Portal rendering, which required some significant redesigns of the render path, to allow me to retarget the view and render to a stenciled out area of the buffers. and also perform visibility checks from the new location - Occlusion culling currently doesn’t work on the stenciled locations.
Volume textures (Texture arrays) as actual assets
For loops (with addition and multiplication per iteration - Only useful sometimes) and Texture array sampling for the material editor
Extra output pins for the material editor, to support some custom data that I wanted to pass through to the shaders.
Dynamic loading of meshes from HDD into levels - Without having to go through the content browser import process. They can still have uassets allowing for thumbnail rendering. Working on a custom content browser that will show my meshes without having uassets. and same for textures (DDS straight from the HDD)
My own tag buffer implementation (before I saw the excellent work of Temaran). Very similar in design actually. I have a tag value that is defined per mesh and written to the buffer, and then this value can be used to define specific effects during the post processing stage for specific meshes.
Looking into volumetrics (But may just wait to see what NVIDIA have to offer with their turbulence package). and Custom geometry decals (aka. Cryengine decals). and interactive foliage for any number of actors. These are mostly a nice to have, not actually necessary.