Binding System 2 - Fast and Flexible Binding for Any Field in Unity

Hey everyone,
I’m excited to share the new generation of Binding System. It lets you link objects and their fields to anything in your project, with only a handful of clicks. Those links update at near native performance and zero allocations, allowing them to be used even within critical parts of the project.

With this asset, nearly all fields in all objects (even Unity’s own objects) can be bound to any field or property you have in the project, even non serialized ones. This opens up a huge number of possibilities where and when to use this asset.

Create themes with Binding System 2

Bind UI elements to physical objects and materials

This asset helps you design components without hard dependencies on other components and focus only on their core logic with simplified inputs and outputs. The linking of inputs and outputs can be easily handled by this utility. This leads to a better modular design of your project.

Additionally, binding values allows for a more advanced Scriptable Object Architecture, since it gives you the possibility to link even deeply nested properties of scriptable objects.

Materials can be bound as well, almost any field of them actually, thus allowing for wild interconnected effects…

Converters and Modifiers makes data manipulation of bound values very powerful and easy to use…

You can get it on the Asset Store

Links:
[Documentation]
[Discord]
[Roadmap]

Stay tuned for more updates and upcoming features, there are some really interesting ones…

Hi everyone,
for those of you who encountered the problem of system hanging when trying to bind a highly recursive type, I am sorry for the inconvenience and have already provided a fix in version 2.0.3 which will be available on Asset Store very soon.

Hey everyone,
The version 2.0.3 is live. It adds a maximum depth slider in settings for bind paths retrieval and sets a minimum width for the binding paths popup. The reference to the documentation has been fixed as well.

Hi Everyone,
Version 2.0.4 is live. It adds some fixes and a brand new API to reroute bindings when there are properties with logic in setters and getters.

Here is the list of changes:

  • Added field rerouting API, to use properties instead of fields in specific cases (check documetation for more details)
  • Added Scenes Sanitization in settings, to remove erroneously added empty components
  • Fixed empty proxy bindings being added when selecting game objects
  • Fixed converters not being registered automatically

Hi Everyone,
Version 2.1.0 is live and it brings a couple of powerful new features along with some minor fixes and improvements.

  • Math Expressions is a family of powerful modifiers which allow to modify the values in the pipeline with arbitrary math functions and variables.
    The same expressions can be used for each channel of colors or vectors, which can be used as well to mix and/or swap the channels.
    Math Expression for numeric fields
    Below are the expressions for color fields
    Math Expressions for color fields

  • Bind Reroute allows to change a bind path from fields to their respective properties or other fields. This is helpful when there are properties which contain logic in their setters or getters and need to be executed on each value change, which is not the case for the serialized and bound fields. Check the documentation for more details.

… and some small under the hood improvements and fixes.

Let me know what you think.
Any suggestions are very welcome.

Hi Everyone,
Version 2.1.1 is live and it brings a new powerful tool Refactor System with some fixes and improvements under the hood.
Refactor System intercepts code changes related to already bound fields and lets the user decide how to proceed with such modifications. It is useful to keep your projects clean of invalid bindings and adapt them semi-automatically.
Refactor System


Other improvements include a better integration with Odin Inspector, a more robust field rerouting logic and an easier to use bind popup.

Any feedback is welcome :slight_smile:

Hi Everyone,
Version 2.1.2 is live and brings a couple of fixes:

  • Fixed an issue preventing Bind fields updating their views with Odin Drawers.
  • Fixed a rare issue related to refactorings.