---
title: "Custom Environment Tutorial"
---

# Custom Environment Tutorial

These tutorials walk you though the full process of creating a custom environment from scratch, and are recommended as a starting point for anyone new to PettingZoo.

1. [Project Structure](/tutorials/custom_environment/1-project-structure.md)

2. [Environment Logic](/tutorials/custom_environment/2-environment-logic.md)

3. [Action Masking](/tutorials/custom_environment/3-action-masking.md)

4. [Testing Your Environment](/tutorials/custom_environment/4-testing-your-environment.md)

For a simpler example environment, including both [AEC](/api/aec/) and [Parallel](/api/aec/) implementations, see our [Environment Creation](/content/environment_creation/) documentation.


```{toctree}
:hidden:
:caption: Environment Creation

1-project-structure
2-environment-logic
3-action-masking
4-testing-your-environment
```
