I’d use them in the player controller. On each tick (or every few seconds) check what the current player camera location is, then measure the distance to the last origin and if the distance is greater than some threshold, rebase local origin onto zero with current position and store that origin location. Rinse and repeat.