Can you override a parented transform cleanly?

I’ve noticed in the Editor, that if you manually set transform parameters, there is some jerkiness, if it is parented, and the parent’s transform changes. This only happens in the Scene View and not the Game View. So I assume that the transform is updated first, based on its parent, and then overridden how you wish. Is there some way to avoid this double transformation? I’ve noticed that the portions you don’t manually set still update as expected, so I don’t know how this could be handled. (i.e. if you set a transform.position manually, it will still be rotated and scaled based on its parent.)

I’m not sure exactly what you’re saying here. When you say “manually” set transform parameters, do you mean by dragging the widgets in the scene view or typing in the inspector? And what kind of jerkiness (time lag, large movement step…)?

The only thing I can see that seems a bit like this is when I have a parent with a child at a short distance. When I rotate the parent slowly, the child moves in jumps. Presumably, the angular step that gives smooth visual rotation of the parent moves the child by a perceptible jump. This does make it difficult to position the child precisely by moving the parent.

Sorry for not being clear. By “manually”, I meant, through script, setting a child’s position or rotation. The jerkiness seems to reflect that the child is first transformed based on its parent’s transform, and then reset by my script afterwards. It’s not a terribly big deal, because it still ends up transformed as it needs to be before the frame is drawn, but I’d prefer to be efficient with my transformations. However, I want to preserve parenting, for the sake of organization.

It sounds like you’re moving the child before you move the parent each frame. Try putting the child’s movement in LateUpdate(), calling it directly from whatever moves its parent.

No, like I said, it ends up where it needs to, even when I use Update(). It’s only the Scene View where I see the problem. The parent transforms, the child updates based on it, and then the child transforms how I tell it to.