Unity tools for game devs: manage user settings, configurations, scene loading, translations, and more. Open source (MIT). Simplify common development tasks!This Unity package includes essential tools for developers: AudioManager for sound control, ConfigManager for settings, ScenesManager for scene transitions, ScreenshotManager for captures, SettingsManager for application preferences, TranslationManager for multilingual support, and WebRequestService for network requests. Simplify your project management with these integrated solutions.AudioManagerThe AudioManager is designed to manage audio sources and volumes within a Unity project. It allows for the control of music, sound effects, and voice separately with individual volume controls as well as a master volume control that affects all audio sources. The class includes functionality to play, stop, and check if audio is playing. It also provides adjusted volume properties that take into account both individual and master volumes.ConfigManagerThe ConfigManager s designed to manage configuration settings for a Unity project. It loads configuration data from a specified JSON file and stores the data in a runtime cache. The class supports a variety of data types, including primitives, Vector2, Vector3, Quaternion, and Color. It also includes functionality to clear the cache and retrieve stored values.PubSubManagerThe PubSubManager class implements a simple publish-subscribe system in Unity, enabling loose coupling between components. Events can be published to channels, and objects can subscribe or unsubscribe to these channels to receive events. You can add an instance of the PubSubManager to any Manager of this package to enable event-based communication between different parts of your project.ScenesManagerThe ScenesManager is designed to manage scene operations such as loading, exiting, and transitioning between scenes in a Unity project. It allows for asynchronous scene loading and unloading, with support for additive scenes. The class also provides events for scene operations, enabling custom behaviors during scene transitions.ScreenshotManagerThe ScreenshotManager facilitates the capture and storage of screenshots within a Unity project. It allows customization of the storage directory and includes optional debug logging. This class utilizes a coroutine to capture screenshots at the end of the current frame, ensuring that the captured image represents the fully rendered scene.SettingsManagerThe SettingsManager facilitates the management of application settings within a Unity project. It provides a structure for loading, saving, and accessing settings data through a customizable settings driver. The class raises events on key operations such as loading, saving, changes, and errors, allowing for responsive and dynamic settings management.TranslationManagerThe TranslationManager is designed to facilitate the management of translations within a Unity application, providing the infrastructure to support multiple languages. It allows for dynamic language switching, supports the retrieval of translated strings, and manages the active translation set.WebRequestServiceThe WebRequestService provides a flexible and convenient way to handle web requests within Unity applications. It supports GET, POST, and other HTTP methods, customizable timeouts, debugging options, and callbacks for success and failure scenarios.I use Github Copilot & ChatGPT to assist me during development.