using UnityEngine; using DG.Tweening; using UnityEngine.EventSystems; [RequireComponent(typeof(EventTrigger))] public class ScaleOnHover : MonoBehaviour { public float scaleFactor = 1.1f; public float duration = 0.1f; public Ease ease = Ease.OutBack; void Start() { EventTrigger eventTrigger = GetComponent(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerEnter; entry.callback.AddListener((data) => { OnPointerEnter((PointerEventData)data); }); eventTrigger.triggers.Add(entry); entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerExit; entry.callback.AddListener((data) => { OnPointerExit((PointerEventData)data); }); eventTrigger.triggers.Add(entry); } public void OnPointerEnter(PointerEventData eventData) { transform.DOScale(scaleFactor, duration).SetEase(ease); } public void OnPointerExit(PointerEventData eventData) { transform.DOKill(); transform.DOScale(1f, duration).SetEase(ease); } }