diff --git a/Packages/net.fushizen.modular-avatar/Editor/MergeArmatureHook.cs b/Packages/net.fushizen.modular-avatar/Editor/MergeArmatureHook.cs index 286d48ef..7ccf7fe6 100644 --- a/Packages/net.fushizen.modular-avatar/Editor/MergeArmatureHook.cs +++ b/Packages/net.fushizen.modular-avatar/Editor/MergeArmatureHook.cs @@ -286,20 +286,7 @@ namespace net.fushizen.modular_avatar.core.editor mergedSrcBone.transform.localPosition = src.transform.localPosition; mergedSrcBone.transform.localRotation = src.transform.localRotation; mergedSrcBone.transform.localScale = src.transform.localScale; - - if (zipMerge) - { - BoneDatabase.AddMergedBone(mergedSrcBone.transform); - var srcPath = RuntimeUtil.AvatarRootPath(src); - PathMappings.Remap(srcPath, new PathMappings.MappingEntry() - { - transformPath = RuntimeUtil.AvatarRootPath(newParent), - path = srcPath - }); - } - mergedSrcBone.transform.SetParent(newParent.transform, true); - BoneRemappings[src.transform] = mergedSrcBone.transform; bool retain = HasAdditionalComponents(src, out var constraintType); if (constraintType != null) @@ -331,6 +318,19 @@ namespace net.fushizen.modular_avatar.core.editor return true; } + if (zipMerge) + { + BoneDatabase.AddMergedBone(mergedSrcBone.transform); + var srcPath = RuntimeUtil.AvatarRootPath(src); + PathMappings.Remap(srcPath, new PathMappings.MappingEntry() + { + transformPath = RuntimeUtil.AvatarRootPath(newParent), + path = srcPath + }); + } + + BoneRemappings[src.transform] = mergedSrcBone.transform; + List children = new List(); foreach (Transform child in src.transform) {