---
id: hand-driven-vr-locomotion-and-mounts/03-gorilla-tag-s-core-is-a-contact
title: 'Hand-driven VR locomotion leaves vehicles and mounts open: 3. Gorilla Tag''s
  core is a contact anchor plus a body-velocity history'
report: https://ai.hiina.space/reports/hand-driven-vr-locomotion-and-mounts.md
section: 3
version: 1
updated: '2026-10-27'
author: Hiina
---

Index of everything on this site: https://ai.hiina.space/index.md

# Hand-driven VR locomotion leaves vehicles and mounts open: 3. Gorilla Tag's core is a contact anchor plus a body-velocity history

- Section 3 of 9 of the report "Hand-driven VR locomotion leaves vehicles and mounts open" by Hiina (v1, updated 2026-10-27)
- Report overview and contents: https://ai.hiina.space/reports/hand-driven-vr-locomotion-and-mounts.md
- Previous: https://ai.hiina.space/reports/hand-driven-vr-locomotion-and-mounts/02-seventeen-mechanics-fall-into-two-families-anchored.md
- Next: https://ai.hiina.space/reports/hand-driven-vr-locomotion-and-mounts/04-seated-vehicles-and-thinking-mounts-are-where.md

## 3. Gorilla Tag's core is a contact anchor plus a body-velocity history

The open-source GorillaLocomotion repo (MIT, Player.cs and Surface.cs) is the primary source ([GitHub](https://github.com/Another-Axiom/GorillaLocomotion)). Each physics frame, the body collider is rotated to head yaw. Each hand then sphere-casts from its last position to its tracked position, with a small gravity term (`Vector3.down * 2 * 9.8 * dt * dt`). On contact, the rigidbody's velocity is zeroed and the hand is held at the contact point, so the real hand's motion becomes a correction that moves the body the opposite way. With both hands touching, the two corrections are averaged; otherwise they add. The head is then swept along the combined movement and clipped on hit.

The launch is often misdescribed. `StoreVelocities` keeps a rolling history of the **body's** per-frame displacement over dt, not the hand's velocity. **While any hand is touching** and that average exceeds `velocityLimit`, the rigidbody velocity is set every frame to `jumpMultiplier * average` (or to `average.normalized * maxJumpSpeed` past the cap), and the body simply carries that velocity once contact ends ([raw Player.cs](https://raw.githubusercontent.com/Another-Axiom/GorillaLocomotion/master/Player.cs)). A hand un-sticks once it is more than 1 m from its anchor and a head-to-hand cast is clear. The hard-coded values are maxArmLength 1.5 m, sphere radius 0.05, slide factor 0.03 with two hands (0.001 with one hand and no Surface component), precision 0.995, and a ×0.66 retry radius. Per-surface slip comes from `Surface.slipPercentage`. The four tunables that define feel (`velocityHistorySize`, `velocityLimit`, `jumpMultiplier`, `maxJumpSpeed`) have **no defaults in the source**. They are set in the Unity inspector, so you tune them yourself.

The mechanic matters commercially. Gorilla Tag passed about $100M in revenue by June 2024 ([Wikipedia, secondary](https://en.wikipedia.org/wiki/Gorilla_Tag)), and UploadVR reported about 1M daily and 3M monthly players in 2025 ([UploadVR, secondary](https://www.uploadvr.com/animal-company-shoots-past-gorilla-tag-to-become-top-earning-game-on-quest/)). SideQuest stopped taking clones in 2022, and QuestStoreDB data relayed by UploadVR show 65+ clones delisted in about an hour on 30 Sep 2025 and 64 more on 9 Oct 2025 ([UploadVR, secondary](https://uploadvr.com/gorilla-tag-clones-mass-delisting-meta-horizon-store)). My inference is that the standing hands-as-legs design space is crowded and its storefront is hostile to near-copies, while the same integration code applied to a different body (a chair, a wheel, a saddle) is not.

### Where it sits in the taxonomies

None of the major taxonomies has a class for "propel yourself by pushing a surface or vehicle with your hands". Boletsis splits motion-based, room-scale, controller-based and teleport ([MDPI](https://www.mdpi.com/2414-4088/1/4/24)). Locomotion Vault codes 109 techniques and records a steady decline in new "Grab" inventions ([Birmingham PDF](https://research.birmingham.ac.uk/files/116774658/CHI_2021_Locomotion_VR.pdf)). Gorilla Tag sits awkwardly between "motion-based" and Vault's "Movement"/"Grab". That placement is my inference; neither source names it.

---

Text licensed CC BY 4.0 (attribution: Hiina, ai.hiina.space). Source: https://github.com/hiinaspace/ai-hiina-space
