Binding System 2 is a vast improvement over the original Binding System. It gives you the power to link a field directly in inspector to other properties or fields, even very deeply nested ones.
This may seem simple at first, but it opens a world of possibilities:
► Create complete UI systems linked to a few "config" files, like themes, palettes and labels, all with instant updates without going into Play mode.
► Make scripts modular. Let them control other scripts without direct dependencies, like 3D sliders opening doors, motors increasing pressure, switches turning on lights.
► Have a complete Dependency Injection system at various granularities. Greatly increase re-use of components.
► Work with SOAP (Scriptable Object Architecture Pattern) on another level. Link even deeply nested properties from scriptable objects and switch them when needed.
► Let effects adapt to your game logic, like changing particle systems color and speed based on character's health.
► Link materials properties to game values, like metal glowing red on high temperatures or let transparency adapt to object density.
► Change light properties based on flashlight remaining energy.
► and so many others...
★ Note to programmers: this leads to increased modularity between objects and a better architecture overall.
✔ The setup is straightforward: import the asset, right click on a field and have your first bound field already...
Once a field is bound, there are plenty of options to manipulate the binding with converters, simple yet powerful modifiers and advanced tools like accessor providers...
★ High-Level Features:
⦿ Quick Data Binding: Instantly connect serialized values to any property, even non serialized ones, directly in Unity Editor without any code manipulation.
⦿ Two Binding Approaches: Bind any compatible field for any object directly in Inspector (even Unity's own components), or transform your scripts' fields in code to bindable counterparts for maximum performance.
⦿ Non-Destructive Bind: Bind any compatible field without altering its internal data and without changing its code structure.
⦿ Intuitive Setup: The user interface is as user-friendly and non-intrusive as it gets with a searchable dropdown menu for efficient binding configuration.
⦿ Real-Time Debugging: Identify and resolve issues with Live Debug and error visualizations. Get to see how data flows during runtime.
⦿ Custom Extensibility: The system can be easily extended with new converters, modifiers, and value providers, thus adding new capabilities to the system.
⦿ Optimized Performance: The whole system architecture was built to provide high-performance operations, optimized reflection, and methods generation with virtually no memory allocations.
This asset is like "a solution in search of problems" and trust us, you will find plenty of problems that this solution will solve...
Unlike Binding System v1, this asset is provided with its source code!
IMPORTANT! If you're upgrading from version 1, please read the documentation on how to upgrade without friction.