I have not seen any guide out there to for etabs plugin so I decided to write one. I used C# and developed the plugin in .NET framework.
First of all, unlike dynamo or grasshopper, you will need to build the UI by yourself for an etabs plugin. Basic understanding of how windows form work is needed.
I start off with a simple windows form with one button.
You will need to create a class called cPlugin. This class will contain methods that interact with the methods in your Form class. cPlugin needs 2 important methods: cplugin.Main and cPlugin.Info.
In your Form class, you will have cPlugin and cPluginCallback object to modify cPlugin when you open/close the form.
Take note of Form1_FormClosed method, remember to add a form event handler so this method is raised when the form close (like above). ISapPlugin.Finish is then called to signal to Etabs if the operation was successful or not.
To be able to function in etabs, cPlugin class has to be set up in this way.
The first two methods is to inform and return the control back to Etabs when the plugin is ready to close.
The final line ~cPlugin is to clear the memory of the class when not needed.
Once the assembly is built, the next task is simple. In Etabs, go to Tools => Add/Show Plugin. Browse to the location of your dll and add the path.
And voila! The plug is in