# Quick Start

<figure><img src="/files/AZcADrUwWpcztQXinnEN" alt="" width="563"><figcaption></figcaption></figure>

## Steps

{% stepper %}
{% step %}

### Import The Package

Import the Pro 2D Controller package into your Unity project.

After importing, the folder structure will look similar to:

```
Assets/
└── Pro-2D-Controller-TheCodeCM/
    ├── DemoScene/
    ├── Editor/
    │   └── Icon/
    ├── Material/
    └── Scripts/
        └── Modules/
```

{% endstep %}

{% step %}

### Open The Demo Scene

Navigate to:

```
Assets/Pro-2D-Controller-TheCodeCM/DemoScene/
```

Open the included demo scene to instantly test all controller mechanics.

The demo scene showcases:

* Responsive Movement
* Slope Handling
* Variable Jump Height
* Double Jump
* Dash
* Wall Slide
* Wall Jump
* Ledge Climb
  {% endstep %}

{% step %}

### Press Play

The demo scene already includes a fully configured player controller.

Simply enter Play Mode to test all available modules and mechanics immediately.

Default Controls:

| Action        | Key        |
| ------------- | ---------- |
| Move          | A / D      |
| Jump          | Space      |
| Double Jump   | Space ×2   |
| Dash          | Left Shift |
| {% endstep %} |            |

{% step %}

### Configure Input System

The controller uses Unity's New Input System.

If prompted:

1. Enable the Input System package
2. Restart Unity

You can enable it from:

```
Edit → Project Settings → Player
```

Under:

```
Active Input Handling
```

select:

```
Input System Package (New)
```

OR:

```
Both
```

{% endstep %}

{% step %}

### Setup Validation

<figure><img src="/files/OPddvpfkecq2RRI9KfPl" alt="" width="494"><figcaption></figcaption></figure>

The custom inspector includes a built-in validation system that automatically checks:

* Rigidbody2D
* Input Handler
* Collision Detector
* Ground Checks
* Wall Checks
* Ledge Checks

If setup is configured correctly, the inspector will display:

```
Controller setup validation completed successfully.
```

{% endstep %}

{% step %}

### Modular System

The controller is fully modular.

You can easily add or remove systems directly from the custom inspector, including:

* Dash Module
* Wall Module
* Ledge Module
* Debug Module

This allows you to build lightweight or advanced controllers depending on your project needs.
{% endstep %}
{% endstepper %}

## What's next?

{% content-ref url="/pages/Fmwg0elka3B8TI5rH5qq" %}
[Player setup](/pro-2d-controller-doc/getting-started/player-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/vtW33hJZ9F7oZMXEqthx" %}
[Collision Detector](/pro-2d-controller-doc/getting-started/collision-detector.md)
{% endcontent-ref %}

{% content-ref url="/pages/ytgu4tH8eZr1V9qiDtZs" %}
[FAQ & Troubleshooting](/pro-2d-controller-doc/getting-started/faq-and-troubleshooting.md)
{% endcontent-ref %}


---

# 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://the-code-cm.gitbook.io/pro-2d-controller-doc/getting-started/quick-start.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.
