using DG.Tweening; using DG.Tweening.Plugins; using UnityEngine; using UnityEngine.UI; public class CustomPluginExampleBrain : MonoBehaviour { public Text txtCustomRange ; // Used to show the custom range tween results CustomRange customRange = new CustomRange(0, 10); // Store the plugin so you won't have to instantiate it every time you use it // (you can pass the same plugin instance to each tween, since they just do calculations and don't store data) static CustomRangePlugin customRangePlugin = new CustomRangePlugin(); void Start() { // The difference with the regular generic way is simply // that you have to pass the plugin to use as an additional first parameter DOTween.To(customRangePlugin, () => customRange, x => customRange = x, new CustomRange(20, 100), 4); } void Update() { txtCustomRange.text = customRange.min + "\n" + customRange.max; } }