Besiege is written in c# and uses the Unity Engine.
For more information, check Spaar's Modloader (under "For Mod Developers)
If you need any help, you can join the Discord and ask there, or in Modder's slack (though it's completely inactive, so you're probably better off asking in Discord)