Player > Shoulder > Arm > Hand
CoherenceSyncscript on it (and only on its root node), so you can't add an additional one to the hand. Instead, you need to add the
CoherenceNodecomponent to another Prefab so that it can be parented. Please note that this parenting relationship can only be set up in the scene or at runtime; you can't store it in the parent Prefab since that would break the rule of only one
CoherenceNodecomponent to it (it also has to have a
CoherenceSync). In the example above, that would be the flashlight you want your player to be able to pick up. You don't need to make any changes to the Player Prefab, just make sure it has a
CoherenceSyncscript in the root.
CoherenceSyncthat have some kind of hierarchy of child transforms (the child transforms can't have CoherenceSyncs on them).
CoherenceNode. Instances of this Prefab can now be parented to any transform of the Prefabs with just CoherenceSync (in step 1).
CoherenceNodeworks using two public fields which are automatically set to sync using the
pathvariable describes where in the parent's hierarchy the child object should be located. It is a string consisting of comma-separated indexes. Every one of these indexes designates a specific child index in the hierarchy. The child object which has the
CoherenceNodecomponent will be placed in the resulting place in the hierarchy.
pathDirtyCountervariable is a helper variable used to keep track of the applied hierarchy changes. In case the object's position in the parent's hierarchy changes, this variable will be used to help settle and properly sync those changes.