>I often find the default feature implementations in large engines like Unity so lacking I end up writing my own anyway. Eventually, my projects end up being mostly my own tools and systems, and the engine becomes just a vehicle for a nice UI and some rendering... I honestly don't see anything wrong with using the engine for its UI and "some rendering" kind of sweeps a lot of the complicated 3d light handling under t…
Godot is more or less built that way. The entire node system is an abstraction over the various “servers” and you can even completely forgo it if you want, providing your own MainLoop implementation (instead of the included SceneTree implementation of MainLoop) and then just use the servers directly.
A lot of the editor features are also implemented as plugins. It’s been very easy turning the Godot editor into a custom editor for my game by writing some simple plugins