Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Immersive Movement
Information
Type Standing, Room-scale, Running-in-place
Required Devices Motion-tracked controllers (the original Unity package required SteamVR and the HTC Vive)
Description Hold a button on one of the controllers then run in place to move in VR.
Pros Can use one of the hands to interact with environment while moving
Cons Physically tiring over long sessions; less accessible than controller-based movement and limits what the hands can do while moving
Creator Highsight

Immersive Movement is a Locomotion Method for virtual reality in which the user holds a button on a tracked motion controller and runs in place, and the software moves the play area through the virtual world in response to that motion. It was created in 2016 by a developer known as Highsight for the HTC Vive and SteamVR, and was sold as a Unity package called "Immersive Movement VR" on the Unity Asset Store.[1][2] The package description said that moving the play area this way allowed "a more Immersive movement experience, leading to less motion sickness."[1]

In October 2016 Highsight contributed the system to the open-source Virtual Reality Toolkit (VRTK), where it was renamed Move In Place (the script VRTK_MoveInPlace) and shipped in VRTK 3.0.0 in January 2017.[3][4] The VRTK documentation describes Move In Place as "based on Immersive Movement, originally created by Highsight."[5] The paid Asset Store package has since been deprecated and can no longer be bought.[1]

Reviewed 27 September 2026. Checked the UploadVR article, Unity Asset Store listing data, Highsight YouTube video metadata, Daggerfall Workshop post, VRTK issue 602, pull requests 637/664/681, the original MoveInPlace source, VRTK 3.0.0/3.1.0 release notes, VRTK documentation and the three cited papers' metadata and abstracts. About review dates.

History

Highsight published a demonstration video on 4 July 2016, describing Immersive Movement as the "newly implemented locomotion system" of a game in development and saying it had not made him motion sick.[6] On 18 July 2016, UploadVR covered it in an article on developers testing running in place as an answer to VR's movement problem, alongside RIPmotion by deprecatedcoder, David Tai's RagnarokVR concept and a sword-fighting Unity game by Reddit user joiemoie. The article said Highsight had posted the system on Reddit as a "natural feeling movement system" or "Immersive Movement," together with a downloadable blocky test room for trying it out.[2]

The Unity Asset Store package was first published on 19 July 2016. It listed Unity 5.3.5 and 5.4.0 as supported versions and carried the notice "REQUIRES STEAMVR/HTC Vive".[1] Highsight posted changelog videos for version 0.8.5 on 7 August 2016 and version 0.8.7 on 10 September 2016, each linking a downloadable demo and the Asset Store package.[7][8] The publish notes of the package's final version say it was patched for Unity 5.4 and now used trackable object transforms instead of SteamVR_TrackedObjects, a change that required users to reset their trackables and camera settings; the same update added "Smart Head Decoupling" (marked as a work in progress), optional trackpad controls, and a reworked way of finding the ledges of colliders that allowed more than box colliders to be used.[1]

On 10 August 2016, Daggerfall Workshop, the development blog of the Daggerfall Unity project, highlighted a test by Highsight that combined Immersive Movement with Daggerfall Unity on the HTC Vive, quoting his post "Immersive Movement + Daggerfall Unity = #VR Daggerfall!? Some early tests."[9]

Integration into VRTK

On 28 September 2016, Highsight opened an issue on the VRTK repository proposing to integrate Immersive Movement into VRTK as a separate artificial locomotion option. VRTK's maintainer, thestonefox, replied that the project should first look at what Immersive Movement had in common with ArmSwinger, because VRTK, ArmSwinger and Immersive Movement each had their own way of handling player presence, and he wanted one consistent approach that would work with any locomotion system.[10] The Asset Store listing was updated with a notice that Immersive Movement would soon be integrated into VRTK "FOR FREE USE" and that the paid product would be deprecated once the integration was complete.[1]

A first pull request, opened on 9 October 2016 under the name Real Movement, described the feature as moving the play area "through the measurement of arm and/or headset Y movements"; it was closed without being merged.[11] A second pull request followed on 17 October 2016. During review, thestonefox said the name Real Movement did not describe what the script did, since it simulated walking and also running; after other contributors suggested names, Highsight chose "MoveInPlace". The pull request was merged on 21 October 2016.[3][12] The same day, a pull request by kjack9 added a direction method that averages the rotation of the two controllers.[13] Both changes are listed in the release notes of VRTK 3.0.0, published on 7 January 2017, and VRTK 3.1.0 (25 February 2017) added deceleration and falling deceleration to Move In Place.[4][14]

Date Event
4 July 2016 Demonstration video published[6]
18 July 2016 Covered by UploadVR[2]
19 July 2016 "Immersive Movement VR" first published on the Unity Asset Store[1]
7 August 2016 Version 0.8.5 changelog video and demo[7]
10 August 2016 Daggerfall Unity test highlighted by Daggerfall Workshop[9]
10 September 2016 Version 0.8.7 changelog video and demo[8]
28 September 2016 VRTK integration proposed (issue #602)[10]
21 October 2016 Merged into VRTK as Move In Place (pull request #664)[3]
7 January 2017 Released in VRTK 3.0.0[4]
25 February 2017 Deceleration added in VRTK 3.1.0[14]

How it works

The user holds a chosen button and runs in place, and the play area moves with them.[1] In UploadVR's description, the tracking is based on the user's movement as they run in place, but unlike RIPmotion the user does not have to hold the controllers at the waist or attach one to the body: the user holds a button and moves the arms as in real running, which leaves one hand free to use objects.[2] The Unity package was attached to the SteamVR CameraRig and used SteamVR tracked objects to move the play area. It also included optional player collisions, a player body that could climb box colliders up to a set height, and trackpad options for moving with the controller alone.[1]

The version contributed to VRTK shows the method in detail. Its code comments say it moves the play area "by calculating the y-movement of the user's headset and/or controllers," so that the user "is propelled forward the more they are moving."[12] On each physics update the script measures how far each tracked device has moved vertically, caps that value at a sensitivity threshold (0.02 by default), and averages it over the last 60 updates; the combined average, multiplied by a speed scale, sets the forward speed, up to a maximum speed (4 game units by default). Releasing the button cleared the stored movement and stopped the player at once.[12] The user can choose whether the headset and controllers, the controllers only, or the headset only are tracked. The VRTK example scene demonstrates moving "by either swinging the controllers in a walking fashion or by running on the spot utilisng the head bob for movement."[5]

Movement direction is set by one of several direction methods. The original contribution had three (Gaze, DumbDecoupling and SmartDecoupling), and its tooltip said the Gaze method "tends to lead to the least motion sickness."[12] The VRTK 3 documentation lists seven:[5]

Direction method Behavior (VRTK documentation)
Gaze Always moves in the direction the user is looking
ControllerRotation Moves in the direction the controllers are pointing (averaged)
DumbDecoupling Moves in the direction the user was first looking when Move In Place was engaged
SmartDecoupling Moves in the direction the user is looking only if the headset points the same direction as the controllers, within the Smart Decouple Threshold
EngageControllerRotationOnly Moves in the direction the controller with the engage button pressed is pointing
LeftControllerRotationOnly Moves in the direction the left controller is pointing
RightControllerRotationOnly Moves in the direction the right controller is pointing

Additional Information

Immersive movement is a running-in-place locomotion method.

  • Right Hand Application Button + Running In Place = Move in direction you're looking.
  • Hand Grips = Grab Item (There's a gun behind the pillar on the ground)
  • Trigger Button = Activate Grabbable (shoot the gun)

github link (this repository is ArmSwinger, a separate arm-swinging locomotion library by Electric Night Owl, not Immersive Movement)[15]

Unity asset store link

Problems

UploadVR noted that running-in-place systems of this kind trade accessibility and freedom of interaction for immersion and reduced motion sickness, and questioned how they would work in a large, multi-hour game, since such movement could make playing "a full-blown workout."[2] The Unity 5.4 update of the Asset Store package changed how tracked objects were read, which required existing users to reset their trackables and camera settings.[1] In the first VRTK version, releasing the engage button stopped the player immediately.[12]

Research on related techniques suggests limits to in-place movement. In a 1999 study, Martin Usoh and colleagues found real walking significantly easier than both walking in place and flying, although walking in place gave a higher sense of presence than flying.[16] A 2016 experiment by Wilson, Kalescky, MacLaughlin and Williams found that walking in place gave better spatial awareness than arm swinging, while neither matched real walking.[17]

Solutions

Later VRTK releases addressed some of these issues. VRTK 3.1.0 added a deceleration setting, which the documentation describes as the speed at which the play area slows to a stop after the engage button is released and says "can ease any motion sickness that may be suffered," along with a separate falling deceleration and a fix to prevent Move In Place control while falling.[14][5] An optional Body Physics component checks for potential collisions in the direction of movement and cancels the move if one is found, to reduce collision tunnelling. The decoupled direction methods let the user look around while continuing in one direction.[5]

Related techniques

Walking in place as a VR input predates consumer headsets. In a 1995 paper, Mel Slater, Martin Usoh and Anthony Steed described a technique in which a neural network analyzed head-mounted display tracking data to detect when a participant was walking on the spot, and then moved the participant in the direction of their gaze; their studies found that it raised reported presence compared with hand-pointing navigation, provided participants identified with their virtual body.[18] In its July 2016 article, UploadVR grouped Immersive Movement with RIPmotion and with The Path of Greatest Resistance, a released game that used a similar movement system, and later added ArmSwinger, which uses arm swinging rather than running in place.[2]

See also

References

  1. ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 Highsight. "Immersive Movement VR". Unity Asset Store. https://assetstore.unity.com/packages/tools/immersive-movement-vr-66473. Retrieved 2026-09-27.
  2. ↑ 2.0 2.1 2.2 2.3 2.4 2.5 David Jagneaux (2016-07-18). "Developers Test Running in Place To Solve VR's Movement Problem". UploadVR. https://www.uploadvr.com/running-in-place-movement-locomotion-vr-developers/. Retrieved 2026-09-27.
  3. ↑ 3.0 3.1 3.2 Highsight (2016-10-17). "feat(Locomotion): add locomotion based on arm swing / head movement - resolves #602 (pull request #664)". GitHub. https://github.com/ExtendRealityLtd/VRTK/pull/664. Retrieved 2026-09-27.
  4. ↑ 4.0 4.1 4.2 "Version 3.0.0". GitHub (ExtendRealityLtd/VRTK). 2017-01-07. https://github.com/ExtendRealityLtd/VRTK/releases/tag/3.0.0. Retrieved 2026-09-27.
  5. ↑ 5.0 5.1 5.2 5.3 5.4 "VRTK_MoveInPlace". VRTK - Virtual Reality Toolkit documentation. https://vrtoolkit.readme.io/docs/vrtk_moveinplace. Retrieved 2026-09-27.
  6. ↑ 6.0 6.1 Highsight (2016-07-04). "Immersive Movement - VR Movement Without Motion Sickness!". YouTube. https://www.youtube.com/watch?v=0oMb9Xav3AA. Retrieved 2026-09-27.
  7. ↑ 7.0 7.1 Highsight (2016-08-07). "Immersive Movement 0.8.5 Changelog". YouTube. https://www.youtube.com/watch?v=UBP62JAUZIQ. Retrieved 2026-09-27.
  8. ↑ 8.0 8.1 Highsight (2016-09-10). "Immersive Movement 0.8.7 Changelog". YouTube. https://www.youtube.com/watch?v=Eemx8PL_sZQ. Retrieved 2026-09-27.
  9. ↑ 9.0 9.1 Interkarma (2016-08-10). "Privateer's Hold In VR". Daggerfall Workshop. https://www.dfworkshop.net/privateers-hold-in-vr/. Retrieved 2026-09-27.
  10. ↑ 10.0 10.1 Highsight (2016-09-28). "Integrate Immersive Movement Into VRTK (issue #602)". GitHub. https://github.com/ExtendRealityLtd/VRTK/issues/602. Retrieved 2026-09-27.
  11. ↑ Highsight (2016-10-09). "feat(Locomotion): Integrate Immersive Movement (Now Real Movement) into VRTK (pull request #637)". GitHub. https://github.com/ExtendRealityLtd/VRTK/pull/637. Retrieved 2026-09-27.
  12. ↑ 12.0 12.1 12.2 12.3 12.4 Highsight (2016-10-17). "feat(Locomotion): add locomotion based on arm swing / head movement". GitHub (ExtendRealityLtd/VRTK). https://github.com/ExtendRealityLtd/VRTK/commit/3ffcb20c8d20007e70a6750fee323f475dbd95bb. Retrieved 2026-09-27.
  13. ↑ kjack9 (2016-10-21). "feat(MoveInPlace): add controller rotation control method (pull request #681)". GitHub. https://github.com/ExtendRealityLtd/VRTK/pull/681. Retrieved 2026-09-27.
  14. ↑ 14.0 14.1 14.2 "Version 3.1.0". GitHub (ExtendRealityLtd/VRTK). 2017-02-25. https://github.com/ExtendRealityLtd/VRTK/releases/tag/3.1.0. Retrieved 2026-09-27.
  15. ↑ Electric Night Owl. "ArmSwinger". GitHub. https://github.com/ElectricNightOwl/ArmSwinger. Retrieved 2026-09-27.
  16. ↑ Martin Usoh, Kevin Arthur, Mary C. Whitton, Rui Bastos, Anthony Steed, Mel Slater, Frederick P. Brooks (1999). "Walking > walking-in-place > flying, in virtual environments". Proceedings of SIGGRAPH '99, pp. 359-364. https://doi.org/10.1145/311535.311589. Retrieved 2026-09-27.
  17. ↑ Preston Tunnell Wilson, William Kalescky, Ansel MacLaughlin, Betsy Williams (2016). "VR locomotion: walking > walking in place > arm swinging". Proceedings of the 15th ACM SIGGRAPH Conference on Virtual-Reality Continuum and Its Applications in Industry, pp. 243-249. https://doi.org/10.1145/3013971.3014010. Retrieved 2026-09-27.
  18. ↑ Mel Slater, Martin Usoh, Anthony Steed (1995). "Taking steps: the influence of a walking technique on presence in virtual reality". ACM Transactions on Computer-Human Interaction, vol. 2, no. 3, pp. 201-219. https://doi.org/10.1145/210079.210084. Retrieved 2026-09-27.