Reasons to use this package:
- It allows avoiding reference serialization via Inspector.
- It removes the need for GOD objects.
- Provides high script flexibility and low cohesion.
Technical details
Package created on version 2020.3.6f1 but compatible with the versions starting from 2020.x.x
Any OS supported. Unity version 2020 and above. (Package requires C# 8.0)
Features
- Core Manager - used for scene, subscription, and reference initialization.
- Cross Events - replacement for the traditional event serialization and subscription.
- Reference Distributor - reference container for data distribution in one scene.
- Cross Scene Data Handler - data container(not references) which allows data distribution between scenes. Supports both classes and structures.
- Custom Validation Attributes - allows validating serialized data. This plugin contains both predefined validation attributes and mechanisms to implement new validation attributes. Supports both class and field attributes.
- Custom Editor - used for attribute validation and displaying errors in Inspector.
- Custom Logger - use this logger if you want to show logs in debug build/editor, but not in release build.
- Custom Play Mode entering - prevents Play Mode start if the current scene contains validation failure.
- Custom Build start - prevents application build if scenes included in the build or prefabs with validation attributes contain validation failures.
- SaveSystem - system to save/load JSON files.
- UIStateTools & UIManager - base UI system for page-based UI.
- Extensions - for Editor and base classes.
Improvements
- RequireInterfaceAttribute
- Delegate combination for subscribing (checkout samples to learn how to use)
Breaking changes
v1.1.2
- Event interfaces accept arrays instead of IEnumerable.
v1.1.3
- Event interfaces accept params arrays.
v2.0.1
- Striped part of functions is now available on GitHub repo.
- Scene Loader - allows to asynchronously load scene through an intermediate scene and allows to serialize SceneAssets through Inspector (use SceneLoaderAsset).
- Runtime console - console with Unity logs for debug and/or release builds. Allows display console logs like in Unity Editor. Strips from release build if other not predetermined.
- Editor Symbol Definer - allows defining Scripting Define Symbols in the project thought attribute or button in Inspector.
v2.0.2
- Fixed build issue with Validation Attributes
- Removed redundant prefabs and scripts
- Added:
- SelectImplementation Attribute
- SelectType Attribute
v2.0.3
- Updated
- ReferenceDistributor API
- SelectImplementationAttribute
- CrossSceneData
- Removed:
- SelectType Attribute