Why use Soap?

  1. Solve dependencies through the editor

By utilizing scriptable objects at its core, it prevents your code from becoming coupled (spaghetti code). This is especially true in the casual mobile market for several reasons:

  • Many features are enabled or disabled through independent A/B Tests. This can lead to hardcoded or messy code within the core of our game. Having these features 'hooked' into an independent architecture makes it easy to add, remove, or toggle them on and off.

  • Soap enables you to reuse features more easily. By using Soap, you can create features as 'drag and drop,' which can be a huge time saver in the long run for elements that don’t change much across games (like meta features, ability systems, etc.).

  1. Increase Development Speed

  • Avoid creating new classes for straightforward behaviors.

  • Directly access key variables using a simple reference.

  • Modify global variables from the editor or within the code.

  • Maintain persistent data across scenes or play sessions.

  • Effortlessly debug at runtime.

  1. Code Efficiency / Clarity

  • Subscribe to what you need and have each class handle itself.

  • Avoid useless managers.

  • Reduce code complexity (by preventing spaghetti code)

  • Performant

Finally, because it's fun. Once you start developing with Soap, you might realize that the workflow is more enjoyable. It is not for everyone, but people who like this kind of workflow will love Soap.

Last updated