Index of everything on this site: https://ai.hiina.space/index.md
The open-source GorillaLocomotion repo (MIT, Player.cs and
Surface.cs) is the primary source (GitHub).
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). 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), and UploadVR reported about 1M daily and 3M monthly players in 2025 (UploadVR, secondary). 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). 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.
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). Locomotion Vault codes 109 techniques and records a steady decline in new "Grab" inventions (Birmingham 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