Could be done better, but this works just as well under time constraints. For future reference: The freecam movement speed logic should be moved to React land instead of processing the update every frame using the time delta. Just use performance.now() in a useEffect or something. --------- Co-authored-by: Tanish Manku <-h>