Part 11 — Add polish and export the game
In this final part, we will tighten the feel of the game and export a native build.
The game is already playable. Polish should make the loop easier to read, not distract from the ball, paddle, and bricks.
Tune the Ball Trail
Select the Ball GameObject and add or tune its TrailRenderer.
Start with:
- emitting: enabled
- time: short enough that the trail fades quickly
- min vertex distance: low enough to sample smooth movement
- width: slightly wider than the ball edge
- color: bright with a fading alpha
The trail should follow the moving ball and fade behind it. If the trail looks like disconnected wedges, lower the minimum vertex distance and shorten the trail time.
Improve the Hit Feel
Good Breakout feedback points are:
- paddle hit
- wall hit
- brick hit
- lose life
- win
- game over
You can add audio later under Assets/Audio. Even simple sounds help the player understand what just happened.
Use the Pixel Font Consistently
Assign PressStart2P-Regular.ttf to:
- score
- lives
- pause title
- menu button text
- game-over title
- win title
Consistent typography makes the UI feel intentional instead of assembled from defaults.
Add Small UI Motion
If you want score changes to feel less abrupt, tween the displayed score toward the new value instead of replacing it instantly.
A simple approach is:
- keep the real score as an integer
- tween a displayed score value
- update the text from the displayed value while the tween runs
Do the same for menu fades or button scale, but keep it subtle. The ball and paddle should remain the focus.
Final Hierarchy Check
By the end of the series, your scene should look roughly like this:
Level1
Main Camera
Level Manager
Boundaries
North Wall
West Wall
East Wall
Floor
Ball
Paddle
Bricks
Row 1
Row 2
Row 3
Row 4
HUD
Pause Menu
Game Over Menu
Win Menu
This hierarchy is a check, not a starting point. You built it gradually so each object had a reason to exist before it appeared in the scene.
Check Project Settings
Open project settings and confirm:
- project name:
Block Out - entry scene:
Level1 - window title:
Block Out - icon path:
Assets/Branding/app-icon.ico - output path: a build folder such as
build/dist - target: Native
Export the Game
Export the native build from the editor:
- Open the export window.
- Choose the native target.
- Pick the output folder.
- Click export.
- Run the exported game from the output folder.
Check:
- the app icon appears correctly
- score and lives render with the expected font
- pause, restart, quit, win, and game over all work
Final Checkpoint
You now have a complete Block Out project with:
- physics-driven ball movement
- wall bounces
- kinematic paddle movement
- signal-based ball launch
- floor-trigger out-of-bounds detection
- lives and score tracking
- 32 authored bricks
- row-based scoring
- pause, win, and game-over UI
- trail polish
- native export settings
That is the core loop. From here, good next experiments are extra levels, brick durability, particles, audio, power-ups, or a title screen with difficulty selection.