Basically, the first and foremost question that needs answering is, to someone who comes FRESH to modding, where to start, what does that person need, where does that person GET what he needs.
For xml mods you just need the game and a text editor, so nothing in addition to what everyone will already have in this context.
For external code mods you'd also need either visual studio or monodevelop (or something else that compiles C#); I could give a link to where to download VS (it's not very version specific in our case, but I could specify what I use) and show how to use it to set up the build process for the external dll (and later, a new dll of the modder's devising).
What are the workflows for adding sound/music/models/textures, what is there to do to get a completely new mesh and a completely new texture for it appear in the game as a new custom ship, with custom weapon, custom FX, custom sound, etc.
I don't handle any of those workflows myself, so it wouldn't be a video from me.
Also, I wonder, does the game engine support turrets on ships as separate entities, and dynamic hull attachments triggered by scripts? (ie, can be destroyed, can target independent from main ship weaponry, etc?) Would be pretty vital for Homeworld style ships... ie. way bigger scale with less ships, but more turrets on and armor plates/modules on the ships that can be destroyed.... just wondering really
Each GameEntity has zero or more EntitySystem objects, each of which is a gun or a tractor beam or a tachyon emitter, etc (shields and hull strength are built into the ship itself, though, not a system; in theory that could be changed). The list of systems an entity has can change at runtime and need not be identical between different ships of that same entity type, but the game does need to know the total list of all systems a ship
might have to put them in the right rollups on creation.
Systems are not individually destroyable, which can be changed to some extent if the mechanism for them being destroyed is clearly articulated. There are some vestiges of code which allow them to be temporarily or permanently disabled, but that would need to be cleaned up to be resuscitated and, again, the mechanism would need to be described unambiguously.
Nor do they have any visual representation of their own, which I don't expect to change given the extra complexity that would place on Chris's side of the engine.