In my build (based off of the latest dev branch with these changes to remove Basic Lighting) I get an assert when exiting the engine:
ShadowMapManager::instance() - The singleton has not been created!
The problem seems to be caused by ShadowMapManager being destroyed before AdvancedLightManager. The callstack looks something like this:
// This causes ShadowMapManager's MODULE_SHUTDOWN macro to run which calls ShadowMapManager::deleteSingleton().
// This calls SHADOWMGR->deactivate(). SHADOWMGR is simply a #define pointing to, you guessed it, ShadowMapManager's singleton instance. Assert time!
I can fix this in my build by adding the following to ShadowMapManager's MODULE_BEGIN definition:
This delays the shutdown of ShadowMapManager until the SceneManager has been destroyed which ensures AdvancedLightManager has also been destroyed. What I can't figure out is why this doesn't happen in stock T3D. Removing Basic Lighting seems to be related to this but I have no idea why.