Create your own
Lesson illustration

Creating a Playable Top-Down Main Scene

Hello again. In the previous lesson, you separated Unity’s core ideas: a scene is a saved arrangement of GameObjects; components give those objects capabilities; and assets such as scripts, prefabs, models, and materials live in the Project window. Now you will build the first actual arrangement for BattleFire: the arena scene.

By the end of this lesson, Assets/Scenes/Main.unity will contain a visible floor, solid obstacle geometry, directional lighting, and an orthographic top-down camera. It will not yet contain a controllable player; the purpose here is to create a reliable physical stage for the movement and combat systems that follow. Plan for about 40 minutes.


Start with a clean, saved scene

Create a new 3D scene using File > New Scene. Depending on the Unity version and project template, choose a basic 3D scene option. A new scene commonly contains a Main Camera and a Directional Light; keep both, because you will configure them shortly.

Immediately save the scene:

  1. In the Project window, create Assets/Scenes if it does not already exist.
  2. Choose File > Save As.
  3. Save the scene as Main in Assets/Scenes.

Unity saves the file as Main.unity. This matters before you begin placing level objects: everything visible in the Hierarchy becomes part of this saved scene.

If Unity created a default Cube, delete it. It is useful for experimentation, but it is not part of the intended arena.

A useful coordinate convention

For this project, treat the world this way:

  • X-axis: left and right across the arena.
  • Z-axis: forward and backward across the arena.
  • Y-axis: vertical height.

The floor will lie on the XZ plane at a Y position of zero. Obstacles will be raised so their bases rest on the floor. A camera high on the Y-axis will look down at the XZ plane.

Before constructing the arena, read the relevant part of Unity’s primitive-object guidance.

Unity - Manual: Primitive and placeholder objects

Read Unity’s brief guide to primitive objects. It explains why simple built-in shapes are appropriate for a first playable level: they are fast to create, easy to resize, and already useful as prototype geometry.

In the opening section, read the creation workflow for adding primitives and modifying their Transform values. Then find the Plane subsection and read the Plane description. Focus on the plane’s default dimensions, its XZ orientation, and why it is suited to floors. The Cube subsection immediately above it is also worth scanning because cubes will become BattleFire’s walls and cover.


Create the floor: visible ground and physical support

Add the arena floor with GameObject > 3D Object > Plane. Rename it ArenaFloor.

Set its Transform in the Inspector:

Transform fieldValue
PositionX: 0, Y: 0, Z: 0
RotationX: 0, Y: 0, Z: 0
ScaleX: 2, Y: 1, Z: 2

A default Unity Plane is ten units wide and ten units long. Scaling it to two in X and Z creates a floor approximately 20 units by 20 units. The Y scale is not significant for the plane’s visible thickness, because the plane is flat.

The default Plane includes a Mesh Collider, which means it is not only visible: future Rigidbody-based characters can stand and move on it. This is the first distinction between decorative level art and playable geometry. For BattleFire, the floor must eventually participate in physics.

Keep the floor centered at the world origin. That makes later placement of the player, enemies, camera, and navigation surface much easier to reason about.

You can leave the default material in place for now. If the floor is difficult to distinguish in the Scene view, use the Inspector’s material slot to assign a simple material later; the important requirement at this stage is a clear, solid arena surface rather than finished visual styling.


Define the arena boundaries and cover

A top-down combat arena needs two kinds of obstacles:

  1. Boundary walls, which keep actors inside the combat space.
  2. Cover objects, which create movement choices and will later affect pursuit and line-of-sight decisions.

Create an empty GameObject with GameObject > Create Empty, rename it Obstacles, and leave its Transform at zero. This is a purely organizational parent. Place all wall and cover cubes underneath it in the Hierarchy.

Boundary walls

Create four cubes with GameObject > 3D Object > Cube. Rename and configure them as follows:

GameObjectPositionScale
NorthWallX: 0, Y: 1, Z: 9X: 18, Y: 2, Z: 1
SouthWallX: 0, Y: 1, Z: -9X: 18, Y: 2, Z: 1
WestWallX: -9, Y: 1, Z: 0X: 1, Y: 2, Z: 18
EastWallX: 9, Y: 1, Z: 0X: 1, Y: 2, Z: 18

A cube is one unit in each dimension before scaling. With a height scale of two and a Y position of one, each wall’s base sits on the floor and its top reaches Y equals two.

Every default Cube includes a Box Collider. Therefore, these walls will later block the player, bullets, and enemies without requiring extra collider setup. Do not add Rigidbodies to floor or wall objects: they are fixed world geometry, not objects that should respond dynamically to forces.

Interior cover

Now add three more cubes as interior cover. These are deliberately offset from the center so the arena does not collapse into a single symmetrical shooting lane.

GameObjectPositionScale
CoverLeftX: -3, Y: 1, Z: -2X: 3, Y: 2, Z: 1.5
CoverRightX: 3, Y: 1, Z: 3X: 2, Y: 2, Z: 2
CoverLowerX: 2, Y: 1, Z: -4X: 1.5, Y: 2, Z: 3

Parent each cube under Obstacles.

The intended result is not an ornate map. It is a compact prototype arena with open lanes, blocking geometry, and enough space for player movement and enemy navigation later. Keep an open central region, and avoid placing cover so close together that no route remains around it.

A useful Scene-view check is to look down from above and ask whether a player starting near the center could reach each side of the arena by more than one route. If the answer is no, move one cover object rather than adding more geometry.


Add readable lighting

Select the existing Directional Light and rename it Arena Light.

A Directional Light represents light arriving from a distant source, like sunlight. Its position does not matter much; its rotation determines the direction from which the scene is lit.

Use these starting values:

SettingSuggested value
RotationX: 50, Y: -30, Z: 0
Intensity1 to 1.5
ColorSlightly warm white, optional

The angled rotation is deliberate. It lets walls and cover cast shadows across the floor, making their shape easier to read from the overhead camera. Lighting is not merely cosmetic in a top-down game: it helps a player distinguish traversable ground from raised obstacles.

If the arena appears almost black in the Game view, first confirm that Arena Light is enabled and that its intensity is above zero. Then inspect the Lighting settings for the project’s ambient-light configuration. Do not compensate for a disabled or missing light by raising material colors to extreme values.


Configure an orthographic top-down camera

A top-down game does not have to use an orthographic camera, but it is a strong default for BattleFire. Orthographic projection keeps object size consistent across the screen: an enemy near the top of the arena appears the same size as one near the bottom. That makes movement distance, aiming, and level layout easier to read.

The same 3D environment shown through a perspective camera on the left and an orthographic camera on the right. In the orthographic view, parallel edges remain parallel and distant objects do not shrink, which supports clear top-down arena gameplay.

Read this focused camera reference before changing the Main Camera.

Working with Unity Cameras - Unity Learn

This Unity Learn tutorial explains where camera settings live and why orthographic projection behaves differently from perspective projection. Read it for the concepts, then use the BattleFire-specific values below rather than copying its 2D sprite example.

Read Section 2, Creating a Camera, beginning with the Inspector setup. In Section 3, Moving the Camera, read the positioning guidance; “Align With View” is useful when you want to refine a camera visually. Finally, read Section 4, Orthographic Cameras, especially the projection comparison. Notice that orthographic size controls vertical coverage rather than camera distance.

Select Main Camera in the Hierarchy. In its Camera component, set:

Camera settingValue
ProjectionOrthographic
Size11
Near Clipping PlaneLeave the default unless objects disappear unexpectedly
Far Clipping Plane100 or greater
BackgroundA dark blue-gray or another clear arena background color, optional

Then set the camera Transform:

Transform fieldValue
PositionX: 0, Y: 20, Z: 0
RotationX: 90, Y: 0, Z: 0

This is a strict overhead view. The camera points straight down at the center of the arena.

The Orthographic Size of 11 means the camera displays 11 world units from the center to the top edge and 11 from the center to the bottom edge. In other words, it displays 22 units vertically, enough to frame the 20-unit-wide floor with a little margin. The visible horizontal width changes with the Game view’s aspect ratio, which is normal.

At this stage, the camera stays fixed. A follow behavior will be added only after a player GameObject exists and can move.


Inspect the arena through the Game view

Open the Game view and select a landscape aspect ratio, such as 16:9, for a useful first check. You should see:

  • the complete floor or nearly all of it;
  • four walls defining the edges of the arena;
  • three visible interior cover objects;
  • lighting that makes object tops and sides distinguishable;
  • a stable overhead view with no perspective shrinkage.

If the camera is too zoomed in, increase Orthographic Size gradually, perhaps from 11 to 12. If the floor occupies too little of the screen, reduce the size slightly. Make this adjustment in the Camera component rather than moving the camera upward or downward: with orthographic projection, the size setting controls framing.

Save again with File > Save or the standard save shortcut. Confirm in the Project window that Main.unity appears under Assets/Scenes.

Your Hierarchy should now have a structure broadly like this:

Main
├── Main Camera
├── Arena Light
├── ArenaFloor
└── Obstacles
    ├── NorthWall
    ├── SouthWall
    ├── WestWall
    ├── EastWall
    ├── CoverLeft
    ├── CoverRight
    └── CoverLower

The exact names are not technically required by Unity, but clear names make later work with physics, navigation, and prefab placement substantially easier.


Key takeaways

You have turned an empty Unity scene into the first BattleFire arena:

  • Main.unity is saved in Assets/Scenes.
  • ArenaFloor provides visible ground and a collider for future movement.
  • Cubes form boundary walls and cover, each with colliders that create solid level geometry.
  • A Directional Light gives the arena readable shape and shadows.
  • An orthographic Main Camera provides a consistent, clear top-down view.

In the next lesson, you will complete the broader BattleFire asset-folder structure so that scripts, prefabs, materials, models, and interface assets have predictable locations as the project grows.

Can't find a good explanation? Sign up and we'll make it for you

Sign up