Skip to main content
‹ Back to Tutorials
Intermediate Unity

How to Make a Skateboard Game with Unity and Playmaker - Part 2 - Add Player and Player Movement

Nov 28, 2020
About this tutorial

In Part 2 of this Skateboard Game Tutorial, we will be looking at adding the player and making the player move. We will use Unity and Playmaker, then also import character and animations from Mixamo and then also a few assets from Kenney.nl Part 1: Importing Mixamo Character and Set up: https://yo

Written Guide

Part 2 of the skateboard game puts a rider in the scene and builds three-lane movement — the endless-runner staple where you snap between left, center, and right lanes. The character comes from Mixamo, the board gets modeled in ProBuilder right inside Unity, and two Playmaker FSMs split the work.

Step 1 — Assemble the player

Create an empty named Player and parent both the main camera and the Mixamo character (the jumping model, renamed Skateboarder) inside it — with the camera as a child, it follows the rider automatically. Position the character on the ground and scale to about 1.5. The skateboard starts as a ProBuilder cube squashed into a deck; select an end face, shift-drag to extrude a new segment, and tilt it up for the kicktail, then repeat at the nose. Wheels are ProBuilder cylinders — bump the sides from the hexagonal default 6 up to about 15-20 so they're round, radius small, height 0.2, rotated 90 degrees. Group the parts as Skateboard and parent it to Player too.

Step 2 — Physics setup

The Player parent gets a Rigidbody and a Box Collider (drag the collider up to wrap the character — it spawns at the parent's origin). The ground plane needs physical presence too: a box collider plus a Rigidbody with gravity off and Is Kinematic on, so it holds position while still colliding.

Step 3 — Constant forward motion

The first FSM, Move Forward, is a single Set Velocity on the Z axis. Two live debugging moments: nothing happened at first because Every Frame wasn't checked, and once moving, the character pitched forward onto his face — fixed by freezing rotation on X, Y, and Z in the Rigidbody constraints. Speed tuning went 5, 10, then 20 before the pace felt right.

Step 4 — Three-lane switching

A second FSM, Move Left Right, keeps lane logic separate from forward motion. Its center state listens with Get Key Down for the left and right arrows, transitioning to left or right states. Each uses an iTween Move By — and the action choice matters: Move To lurches to an absolute world position (the first attempt failed exactly that way), while Move By offsets from wherever the player currently is, which is what lane changes need. The offset tuned out to 8 units on X (negative left, positive right) over 0.3 seconds.

Step 5 — Lane-aware key listening

The trick that makes three lanes work: each side state only listens for the key pointing back toward center. In the left lane, only the right arrow registers; in the right lane, only the left. Each routes through a move-to-center state (one per side) that Move Bys 8 units back and then returns to the center listener via FINISHED. The result is a clean loop — center can go either way, edges can only return — and the player can never leave the track. Part 3 adds the animation system and jumping.

Unity tools by Bliz Studio
Built for our own games — now on the Asset Store

Multi Tag — unlimited hierarchical tags for any GameObject. Hierarchy Pro — style your whole hierarchy with rules. Made by a Unity dev, for Unity devs.

Explore our Unity assets →