Forgot to check in for a while because I found a workaround for the problem. Didn't find a way to do it the way I wanted to, but I did achieve what I need by adding some empty meshes to the armature and then swapping them out during run-time. This does mean I'm limited to a certain number of swappable parts, but that's fine for this project.
body = get_node("Armature/BroFanRig/Skeleton/Body"); #a Mesh node
var bodymesh = load("res://Assets/3DRaw/Character/body_F_kitsune.mesh");
body.mesh = bodymesh;
I have been using the Blender Better Collada exporter. The models all look fine if I export them all at once, just not if I try to reassemble them from multiple files.
@slapin , not helpful. I'm hoping to eventually have hundreds of customizeable parts, and I'm completely sure that it would crash my computer at some point to export a file that big. Yuck to AnimationTrees. It's a fighting game with a lot of animations, several that can be entered from multiple states, so mapping it all to a blend tree would be a pain in the ass. For this, it's better to just use the blend timer setting in play().