Simple data binding for unity.
- Import package file DataBind.unitypackage into Unity
- Add
DataBindContextto parent object - Add
Bind*components to children - Use
dataBindContext[key] = valueto bind values
Check out Demo/DemoScene for details.
Surround keys with double curly braces in UI Text and set values in parent DataBindContext
var context = GetComponent<DataBindContext>();
context["Username"] = "Bobby";Result:
Package contains components for binding UI Text, UI Image's sprite and UI Graphics's color. Custom binds can be created simply by implementing IBindable interface.
using UnityEngine;
using UnityEngine.UI;
public class BindPosition : MonoBehaviour, IBindable
{
[SerializeField]
private Transform m_Target;
[SerializeField]
private string m_Key;
public void Bind(DataBindContext context)
{
if (context.ContainsKey(m_Key)) {
m_Target.position = (Vector3)context[m_Key];
}
}
}You can bind any two properties using BindProperty component. Currently, there is no type checking. If destination property is of type String, then source will be converted using ToString method.


