# What is Soap?

First of all, thank you for purchasing Soap 😊. Soap was made to simplify game development. It aims to be easy to understand and to use, making it useful to both junior and senior game developers. &#x20;

Soap leverages the power of ScriptableObjects which are native objects from the Unity Engine, to create a set of tools  that enables you to build your game in a simple, modular and reusable manner.

ScriptableObjects are assets that can contain code. They can be referenced by other assets and are accessible at runtime and authoring time.  ScriptableObjects are commonly used only for data storage, however they can do much more. Soap builds on top of them to exploit their full potential.

If you want to know more about this idea, I strongly suggest [the talk of Ryan Hipple](https://www.youtube.com/watch?v=raQ3iHhE_Kk\&ab_channel=Unity.).

Soap was created mostly while developing casual games. Because of the nature of these games, Soap focuses on speed and simplicity. Nevertheless, Soap is great at forcing you to decouple your code (avoiding dependencies) and helping you to create modular and reusable systems. Therefore, it can be used in any type of games, simple or complex, small or big.

The package contains a small set of example scenes to quickly show how to use this framework. Each scene has its own specific documentation. On top of this, there are 6 step-by-step tutorial videos to help you to create a Roguelike game with Soap:[ https://www.youtube.com/@obviousgame/](https://www.youtube.com/@obviousgame/)

For any questions or suggestions please ask on [Discord ](https://discord.gg/CVhCNDbxF5)!


---

# 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://obvious-game.gitbook.io/soap/getting-started/what-is-soap.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.
