Scoped movement is for if you are moving something possibly multiple times a frame (ie: characters, they take a lot of movement tests over a tick), it delays the physics update and the final overlapping check until the ScopeMovement goes out of scope.
To do it with something with sub components you would
{ // Start of scope
FScopedMovementUpdate(ComponentPointer, EScopedUpdate::DeferredUpdates);
// Run complicated multi movements here
} // Here the component actually updates to the physics thread and checks for final overlaps
Those final overlap checks and physics thread updates are fairly costly.
You can also nest them, scoped movements find their parent scoped movement and don’t update if it is deferred as well.