Ember Toolkit is a comprehensive suite designed to enhance Unity game development, focusing on data management, serialization, and integration with Unity Services. It provides a robust framework for managing game states, saveable objects, and encrypted data serialization, ensuring a seamless and secure gaming experience.
- Data Management: Centralized handling of game data, including saving and loading game states and objects.
- Serialization: Utilizes a custom JSON serializer for efficient data serialization, with optional AES encryption for added security.
- Dependency Injection: Leverages Microsoft's Dependency Injection framework to manage services and configurations, promoting a modular and testable codebase.
- Unity Services Integration: Simplifies the integration with Unity Services, providing a streamlined workflow for accessing and utilizing Unity's extensive service offerings.
- Flexible Configuration: Supports custom settings through the
IEmberSettings
interface, allowing for easy adaptation to specific project requirements.
To integrate Ember Toolkit into your Unity project, follow these steps:
- Add the Package: Clone or download the Ember Toolkit package into your Unity project's
Packages
directory. - Configure Services: Utilize the
Configurator
class to register your dependencies and services in theIServiceCollection
. This includes setting up theIEmberSettings
implementation and any required services likeIAESController
for encryption. - Initialization: In your game's initialization phase, create an instance of
EmberServiceConnector
with yourIEmberSettings
implementation to set up the dependency injection container and initialize all services. - Usage: Use the provided
EmberBehaviour
andGameState
classes as bases for your game's behaviors and states. Utilize theRequestService<T>
method to access services managed by Ember Toolkit.
For detailed documentation on each component and service, refer to the inline comments within each class and interface. The toolkit is designed to be self-explanatory, with clear naming conventions and comprehensive comments guiding you through its usage.