Sorry :(

Your device doesn't support Unity WebGL.
Try loading this page on a desktop to play!

Press here to load Unity WebGL

  • Unity Demo
  • Video
<i>Metroid</i> Character Controller icon

Metroid Character Controller

As made famous by Nintendo R&D 1
Covered in Unity

Cover Reference

  • After covering the BOXBOY! Character Controller, I was excited to try something more complicated. Metroid: Zero Mission was the perfect next step up - the game has significantly more character states, bigger levels, and features extensive analogue platforming. It was also a great excuse to brush up on my 3D modeling skills.


  • Opinion-less Camera

    Metroid's camera system is deceptively simple: keep Samus in the dead center of the frame. This technique reinforces the game's unguided exploration, since the camera provides no guidance or editorial. Instead each direction is presented as equally valid.

  • See Samus Run

    Samus runs at a blistering 13.3 grid cells per second. While this speed makes backtracking through levels a breeze, it presents problems with controls. To remedy this, all of her state transitions freeze or reset her velocity: switching directions stops her for 3 frames, her run speed ramps up over 4 frames, and landing from a jump resets her velocity. All combined it makes Samus markedly more controllable.

  • Timing is Everything

    Whether it's a default, high, or morph ball jump, Samus always jumps over exactly 12 frames. The consistency reveals just how important a player's internal sense of timing is! The underlying mechanics and timing of the jump stay identical no matter how many upgrades are equipped, letting players get right back to exploring.

  • State Awareness

    Just about every movement state has specific implementation details to help guide play. Landing on the ground resets the player's current aim direction, and players can only grab ledges while descending. Though each state introduces added complexity under the hood, it makes aiming and controls far more intuitive.


  • Transitions between rooms consist of just two steps: move vertically (if needed), then horizontally. The sequences simplicity can handle any use case - allowing designers to make rooms in any way, shape, or form.

  • The character controller has a surprising number of details about making Samus feel integrated into the world. When curled into the morph ball, she subtly bounces off the ground. She even has two separate running animations: one for shooting and one for running. This makes her feel less like a killer robot and more like a human.

  • As with every cover before it, the effects work is all about speed! Most of Samus's state changes last only 2 frames, and particles complete in just 10 frames. Unity's subemitter system was crucial in replicating the hand drawn effects in the actual game.

  • Movement over image fidelity

    Compared to BOXBOY!, this cover looks a lot less, um...finished. To contain the scope (and focus), it was important to only replicate details essential to Samus's movement. Even though modeling, rigging, and animating a character was a substantial amount of effort, it was the clearest and most concise way to communicate the character's state.