Previously on my engine I used a C++ DLL that would be going to C# Class File to C# Program for editor. What I've noticed is there would be lots and lots of code to search though functions that were not even used and drove me literally batty. So, I came up with the notion - if I create a SDK library or DLL that It would be easier for my mind.
So the Engine SDK is a library for now but has a lot more flexibility like the Graphics Device has interface functions - everything has it's own header file and source code and looks neat organized and tidy! Bringing the SDK to a C++ DLL is a peace of cake before it has to go to the C# Class LIbrary for the functions to be imported with:
[DLLImport("SICGAMESFACE.DLL", CallingConvention = CallingConvention.cdcel")] public static extern void myPointer();
It works but I'm wondering perhaps, from possibly people that gone this route or done this route before have to say about this? And or is there possibly a more effectient way to create a professional SDK or API? I'm working on my professional coding - cross the T and dots the I's persay. Making the coding a lot more less confusing and more human readable even for my sake too. And no I don't have a DLL called SICGAMESFACE.DLL just to point that out there. lol!