Thanks for the question!
I’ve replied to your support ticket directly but I think this is something that other users may get stuck on, so I’ll copy the reply on here also.
The target manipulator doesn’t actually rotate the model itself, it works by rotating a group within the sub symbol named ‘model group’. Assets within this group automatically become relative to it, meaning when the group is rotated, everything within it follows.
The way that the target manipulator is created allows the ‘model group’ to be exposed from within the parent symbol (see target maniuplator set up video) and assets to be dragged directly into it. For us to reset the rotation of anything in this group, we will have to create a reset state in the sub symbol and activate that within the parent symbol.
Set up a controller with a reset state within the target manipulator subsymbol.
Select and add the ‘model group’ rotation properties using the + when the state is selected in the controller list.
Create an exported function in the rotate and scale script and activate the reset state inside the function. Example can be seen below -
Create a button (plane) in the parent symbol and add a pointer down script to it.
Within the pointer down script, drag and drop the target manipulator from the hierarchy to get a reference of it.
In the pointer down event, please add -
When the button is pressed, the model group rotation values will reset to 0,0,0 along with everything within it!
Hopefully this step-by-step explains all the key points in enough detail for this to be achieved
Hope this helps!