Just some thoughts: instead of handling the X and Y at the same time, couldn’t you first adjust the X then adjust the Y? I mean, If I follow correctly you could check if X and Y is inside the range (-MoveRange,+MoveRange).
Do you mind showing what’s inside the Collapsed Graph? (…SetWorldLocation)