# 1. Utilising Templates

The default project comes with 8 unique templates based on existing popular endless runner games.

These are intended to act as your starting point allowing you to either build your logic on top of the template that best suits your creative idea or to reference the implementation that best matches your needs.

The templates cover both 2D and 3D game types to demonstrate implementing paper2D animations as well as standard skeletal mesh animations.

As an example, if we go into the **FlappyRunner** example map this will provide a demonstration setup for a target based score system rather than a distance based score. The target in this case is successfully navigating through the pillars.

You can also check in here for the **Paper2D** animation system of the player pawn.

![](/files/JjjTn5ipWoQwDOFS862X)

Similarly you could reference the **LizardRunner2D** template to see an implementation of a more stylized 2D game where a single **sprite** is used rather than a **flipbook** and all animations are handled in the Player Blueprint.

Most other templates utilise 3D meshes and animations and implement a distance based scoring system and are intended to demonstrate different input schemes including lane bases switching and free side to side movement.

The final unique template type is the **VerticalRunner** to show how you can entirely change the direction of the game to create vertical movement for the spawnable classes.

![](/files/Ir4omAljteNjV6ssJ8wN)

One important thing to note is that each template has been placed in its own folder structure which will hold the template specific GameMode, Pawn, Obstacles etc.

This allows you to easily remove any of the templates you know that you won’t be using from your project without any dependency clashes.

Anything that is the parent class, base material or meshes shared between templates has been put into the **CommonAssets** folder. So make sure you only delete things from this folder if you’re certain you won’t be using it as it can cause asset reference issues for the template modes.


---

# 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://dev-enabled.gitbook.io/endless-runner-creator/1.-utilising-templates.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.
