I'm using my own game engine written in C++ (https://github.com/Ryuzaki-MrL/MinimalismEngine).
I ported the engine code to the 3DS and Switch via devkitpro (which is a homebrew toolchain, not an official SDK). Devkitpro provides the tools for building a 3DS or Switch executable.
I'm not actually building a .cia because I haven't made a banner for the game, and that is required. The 3DS version is a .3dsx and requires a homebrew launcher.
Currently I'm not having the time to work actively on the engine, but what I plan to do is to eventually add comments describing how every class works. Even then, there are some things I still need to do in order for it to be usable by others, such as releasing tools for generating fonts and other data based on my file formats (RZFT and RZDB). In its current state, it's not at all intuitive, and a quick tutorial wouldn't be enough.