Part 1 — An empty project and a character that moves
Create a blank project, generate your own art, and get a character running and jumping.
12 min readThis is the first of five parts. By the end of all five you will have a complete platformer — art, level, score, enemies, sound and a published link — built from an empty project without writing code.
By the end of this part you will have a character that runs and jumps.
Create the project
- From the dashboard choose New project.
- Pick Blank 2D. It has one scene, three layers and nothing else.
- Name it
My Platformerand create it.
The editor opens on an empty stage. The left panel has three sections — Scenes, Hierarchy and Assets. The right panel is the Inspector, which always shows whatever is selected.
Generate the art
A blank project has no assets. You do not need to draw or download anything — the editor can generate sprites from a handful of numbers.
- In the Assets panel, press the ✨ button.
- Leave Kind on
Image. - Set Generator to
character. A preview appears. - Name it
hero. - In Options, try changing
"palette"to"goblin"or"canary"and watch the preview update. - Press Add to project.
Now do it again for the ground:
- Press ✨ again.
- Generator
roundedBar, nameground. - Set the options to
{ "width": 1280, "height": 48, "color": "#4ade80" }. - Press Add to project.
Put them in the scene
Double-click an asset tile to drop it into the middle of the stage, or drag the tile onto the canvas to place it where you want.
- Double-click
ground. It appears in the Hierarchy. - With it selected, set Y to
660in the Inspector so it sits near the bottom. - Rename it to
Ground— the field at the top of the Inspector. - Double-click
hero. Set X to200and Y to500. - Rename it to
Player.
Give them physics
Nothing falls or collides until it has a body. Two kinds matter here:
| Body | Use for |
|---|---|
| Static | Things that never move but stop other things — ground, walls, platforms. |
| Dynamic | Things that move and are affected by gravity — the player, enemies, crates. |
- Select Ground. In the Inspector find Physics
and turn it on. Set Body to
static. - Select Player. Turn physics on, set Body to
dynamic, and tick Collide world bounds so it cannot leave the screen.
You also need gravity, which is a project setting rather than a per-entity
one. Click empty canvas to deselect, and the Inspector shows the project.
Under Physics, set gravity Y to
980.
Make it controllable
- Select Player.
- Scroll to Behaviours in the Inspector.
- From the dropdown, choose
platformerController.
The behaviour appears with its settings. Reasonable starting values:
speed 220 sideways movement
jumpVelocity 520 how hard the jump pushes
coyoteMs 90 grace after walking off an edge
jumpBufferMs 120 grace for pressing jump just before landing
Play it
Press Play in the top bar. Move with the arrow keys or A and D, and jump with Space or W.
You should have a character that falls onto the ground, runs, and jumps. Press Escape to close the player.
If it did not work
- The character falls forever — the ground has no static body, or its physics is switched off.
- Nothing moves — the behaviour is on the wrong entity, or the player has no dynamic body.
- Nothing is visible — check the entity's Layer
is
Main, and that X and Y are inside the 1280×720 stage. - It falls through the ground — the ground is on a layer, not a body. Layers control drawing order only; collision needs physics.
Next: turn a single ground bar into a level worth exploring.