Well, I've noticed that although the editor does not support adding custom C++/C# modules, interally it *does* use a plugin framework with a hardcoded list of plugins to load.

I've extended this system a bit to allow loading any .NET module.

Steps for setting up the launcher:
  • Download the alternate editor launcher from https://dl.dropboxusercontent.com/u/32263228/dos/GlassesAltEditorRel.zip
  • The "bin" folders the compiled launcher, the "src" folder contains the launcher sources and a minimal sample plugin
  • Copy bin\The Divinity Engine\GlassesAltEditor.exe to the editor root directory (SteamApps\Common\The Divinity Engine\ or something similar)
  • (optional) Copy the sample plugin (bin\EditorPlugins\SamplePlugin.dll) to the My Documents\Larian Studios\Divinity Original Sin\EditorPlugins
  • When you start the editor with GlassesAltEditor.exe a new menu item should appear like so:
    [Linked Image]


The launcher will only load a plugin if the following conditions are met:
  • The plugin .dll is in the My Documents\Larian Studios\Divinity Original Sin\EditorPlugins folder
  • The plugin filename ends with Plugin.dll (eg. MyTestPlugin.dll is fine, but MyTest.dll is not)
  • The plugin module is a managed (.NET) DLL
  • The module contains at least one *public* class that implements the LSToolFramework.IPlugin interface (if the module contains multiple such classes, the editor will instantiate and register each of them)


To see what classes/symbols are available in the editor I'd recommend using a .NET decompiler tool such as dotPeek: http://www.jetbrains.com/decompiler/
(or just add the editor assemblies -- LSToolFramework, LSFrameworkPlugin, etc. -- as a reference to your project and Visual Studio intellisense will see the classes just fine)