[PROXY]

EnableProxyLibrary=(false, true)

Allow to use another dll file together with ENBSeries. You can’t load more than one library by this feature, don’t try to add another lines to the config, there are no hidden features.

InitProxyFunctions=(false, true)

Attach drawing functions to proxy library. Set this to false only if that dll is not hooking rendering functions and just need to be injected in to game process (f.e. bug fixes or other process memory patchers).

ProxyLibrary=other_d3d9.dll

Name or full path to proxy library to be loaded. This name or path must not contain unicode symbols (japanese or chinese for example).

Notice

Many d3d9.dll wrappers have incompatible code not designed to be in use with other proxy libraries, they produce bugs when executed together with ENBSeries. Game execute rendering functions from ENBSeries and ENBSeries call them in to proxy library and it should call original functions or attach another proxy library (this feature is not widely available and was first implemented in ENBSeries). At the moment of writing this documentation only with ENBSeries you can attach one by one unlimited number of proxy libraries and all of them must be ENBSeries patches or mods, I hope other developers will do same feature sometime.

Tutorial

If you have another d3d9.dll (for antialiasing may be), rename it to something else, for example aa_d3d9.dll and place to same folder where ENBSeries d3d9.dll is located. Set config like this in enbseries.ini (or enbpatch.ini for case of patch version):
[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=true
ProxyLibrary=aa_d3d9.dll

That’s all, now game will start ENBSeries, then ENBSeries will start aa_d3d9.dll.