# Top-Down Engine - Getting Started

{% hint style="info" %}
**Good to know:** Both the Platformer Engine & Top-Down Engine share a lot of functionality. and a lot of times the same techniques can be applied to both engines.
{% endhint %}

## The Demo Map

When you open the project, you will see the Pixel2D Demo Scene.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FDaIwmc7xX4jGURoySGVv%2F0.Template_project.png?alt=media&#x26;token=7ad69556-0168-4fc5-a70a-993bb83e2942" alt=""><figcaption><p>Demo Map</p></figcaption></figure>

You can explore any blueprints to see how they work if want to recreate certain aspects or duplicate the object. You can also duplicate this scene if you want to quickly try out some RPG ideas, but for the purpose of this tutorial, we will start with a clean slate.

## Creating a new map

We will start by creating a new folder under **Content** named after your project. We are calling ours **ManualTM**.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FLAKmA6yFnL7A7dcUpjoE%2F1.Create_your_folders.png?alt=media&#x26;token=a1971ab8-f245-439a-a27b-05a09cc1212e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FLHK8cTXwB1X4DCUOpH2f%2F2.Organisation.png?alt=media&#x26;token=6c03b8ac-0347-44ae-bc79-6d50767e34f2" alt=""><figcaption><p>Try to keep your files as organized in folders as possible.</p></figcaption></figure>

Right-click in your Maps folder to create a new level.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2Fa3sY4ep6GJJsqN2WMyHc%2F3.Creating_a_new_Level.png?alt=media&#x26;token=cb0b4baf-e383-4e4b-9c79-3ede134a92bf" alt=""><figcaption><p>We are using a prefix (<strong>Man_</strong>) for any assets that I make or are specific to my side of the project so that I can find them easily even if they share the name with a pre-built asset.</p></figcaption></figure>

Once you have opened your go to **Edit → Project Settings**. We will be changing some settings to make the project your own.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FTxTXG938D6VShDVBJgvh%2F4.ToProjectSettings.png?alt=media&#x26;token=c13c4deb-d105-4830-aeec-55037bdfca78" alt=""><figcaption></figcaption></figure>

Let's start with some rendering settings. Switch off some of the default render settings, especially Bloom and Auto exposure. These settings are great for making 3D Unreal games and templates look great out of the box, but will be useless for our needs with the 2D game.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FiMwRkzE7xUqhCDSnE3vg%2F5.Rendering_Setting.png?alt=media&#x26;token=be6859b3-18f4-4507-bdb2-73d63b5efc94" alt=""><figcaption><p>The other settings shouldn't do much, but if something looks wrong with the visuals (i.e it starts whitening and brightening up for no reason), check these settings.</p></figcaption></figure>

Time to go to maps and modes.

Here, take a peek at the **default game mode**. It decides what defaults are spawned in-game unless overridden. If you would like to change the Game mode later on you can, but we will only be changing the **Default Pawn Class** later in the tutorial.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FRVtWjtxh6VHvndR4YLqS%2F5b._MapsandModes.png?alt=media&#x26;token=c9a401d6-7f66-4dd4-af89-fab523fb7089" alt=""><figcaption></figcaption></figure>

The second thing to look at is your **Editor Startup Map and Game Default Maps**. Changing the startup map to the current map helps with a quicker startup while changing the game default makes sure any build you send will use the current map as Level 1. If you would like a different map to open when you open your game build, you can change the map in **Default game map**.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2F4VMsXIgZ98nBeK4k1hPN%2F5c._DefaultMaps.png?alt=media&#x26;token=a17ab335-576a-4fb4-9eb3-61394faa2f59" alt=""><figcaption></figcaption></figure>

We are going to add three more things to this scene. You can add these through the **Place Actors** Window or this icon in Unreal 5 →![](https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2F19v4HVtDVqgtO4jKRERW%2F6.PlaceActor.png?alt=media\&token=63d6d896-b0d0-42ae-aef7-bf678d3bf05c)

A directional light, because I will need it to see the 3D objects. We will only need this during development.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FdquzWNwQvvWO9dedrzPQ%2F7.PlaceDirectionalLight.png?alt=media&#x26;token=a34e24c4-2367-4d0a-b095-c6b8c9b4596b" alt=""><figcaption></figcaption></figure>

A plane, because this will be the object our player will actually be moving on. It will automatically be added in horizontally, which is great for us.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FQMzQjP72U2AhREevVOpe%2F9.PlaneInEditor.png?alt=media&#x26;token=de300cf8-884d-4518-becc-8e98913098e3" alt=""><figcaption></figcaption></figure>

And a player start, because we need the player to start somewhere.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FLFsAPggW5eSzEhKra6pS%2F10a._PlayerStasrt.png?alt=media&#x26;token=28f096a9-8e76-4cb9-8ed8-ef7b9889e1fd" alt=""><figcaption></figcaption></figure>

We are going to import test images for a player, NPC and enemy sprites, and a test tileset (Danger tiles, Walkable tiles, Special tiles, and Blocking objects). It's great to have test graphics especially if you are just starting out and want to play around with your idea without being limited by the graphics. They can help you quickly test things out before you get custom art.

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FBnD7n3MQe547CIcikXNC%2FPlayerNPCEnemies.png?alt=media&#x26;token=61db5197-9866-40b8-a38c-735dd7ac8e43" alt=""><figcaption><p>The Player, NPC and Enemy Sprite</p></figcaption></figure>

<figure><img src="https://184658417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwhC5kRxAV2gkiYRfd0As%2Fuploads%2FU8L1nmVUNdWWuz1SCG3B%2FMapBlockingTiles.png?alt=media&#x26;token=e2df088c-1364-470f-8ca2-b8d8772b7bd1" alt=""><figcaption><p>Danger tiles, Walkable tiles, Special tiles, and Blocking objects</p></figcaption></figure>

The tutorial is written in the recommended workflow where we start by making the Core Gameplay, then interfaces before I work on adding the art and animation. However, you can do the following tutorials in the order you choose.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://polyart.gitbook.io/pixel-2d/guides/top-down-engine/top-down-engine-getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
