It's usually quite difficult, since most other engines use C++, which is pretty different from C# in many aspects. My engine (PixelPerfectEngine - 2D game engine primarily aimed at retro pixelart games, link: https://github.com/ZILtoid1991/pixelperfectengine ) is written in D, which is much closer to C# in a lot of aspects, however my engine is far less capable than Unity, still needs a lot of development, and also has it's own quirks that make some features inconveinent to implement or add.