They are a great way to reduce construction and design time, by giving the ability to save complex blocks of parts, like big liquid-booster-stages with separately disposable tanks. A root node of a subassembly needs at least one empty stacked attachment node, where the subassembly can be attached to later rockets. A subassembly can't be used as the first part. All subassemblies are shared between both buildings but not between save games.
Subassemblies were introduced in KSP version 0.22.
A bug where fuel lines and struts are not able to connect properly when saved as a subassembly and loaded later has been found. It causes problems especially with asparagus staged rockets or large rockets which need extensive strutting.
Temstar, a KSP forum member, proposed a workaround for this and dubbed the subassemblies made this way "perfect subassemblies". This workaround works if the subassembly to be created is a launcher without the payload (everything below the decoupler that connects the launcher to the payload), and the root part is part of payload:
- Save the entire craft, then move away the part to be saved as the subassembly. Then delete the section (payload) that should not be included in the subassembly. Also delete the root part. The camera should change orientation and will not be able to be moved around due to lack of the root part.
- Select a decoupler as the root part and put the rest of the launcher below the decoupler. Do NOT save it as a subassembly. Instead, rename and save it as another normal craft file. Be aware not to overwrite the complete craft with the payload if that should be preserved.
- Move the craft file from into the subassemblies directory:
root directory/saves/<save game name>/Ships/<VAB or SPH>/<craft name>.craftinto
root directory/saves/<save game name>/Subassemblies/folder.
- The subassembly appears in the tab once a new root part is added. After adding it to the craft the subassembly should be checked if they are properly connected and the procedure was done correctly.