The Impossible Odds C# Toolkit for Unity is a set of carefully crafted tools to help you kick-start your project’s codebase. It’s designed with ease-of-use in mind, provides tools to keep your codebase clean and efficient. It combines several utilities and frameworks to help you think more about your game and gameplay design rather than code design.
You can expect to find the following features in this tookit:
- Core utilities: extension and utility functions to speed-up programming work and reduce boiler-plate code. Set up execution order dependencies for your Unity scripts, define a split logging level for editor and your builds, invoke events and check values in single line of code, etc.
- Dependency injection: keep your code clean and organized by removing tightly coupled design patterns. Increase the potential of your code by defining resources and dependencies on a much higher level.
- Runnables: avoid the MonoBehaviour and GameObject runtime tax if your objects only need the update or coroutine functionality. Simply hand them to a runner object to hook them into the game loop.
- State machines: use the state machine design pattern with a quick, easy and robust setup.
- JSON: serialize your data to and from the JSON data format, with support for saving type information to keep your inheritance chain intact when deserializing content.
- XML: prefer the XML data format over anything else? With support for saving type information, setting values in XML attributes and serializing binary data in CDATA sections, you can quickly generate clean XML documents.
- HTTP: easily create request and response objects to send and receive from your web server or a third-party web API using Unity’s web requests.
- Photon – WebRPC extensions: using Photon as your multiplayer service and have a custom web server running? Create and send requests over Photon’s network using the WebRPC feature by leveraging the serialization and messaging systems in this toolkit.
If you want to let us know what you’re working on using this toolkit, feel free to message us!