///Credit Martin Sharkbomb ///Sourced from - http://forum.unity3d.com/threads/tooltips.264395/#post-1957075 namespace UnityEngine.UI.Extensions { [AddComponentMenu("UI/Extensions/Bound Tooltip/Tooltip Item")] public class BoundTooltipItem : MonoBehaviour { public bool IsActive { get { return gameObject.activeSelf; } } public UnityEngine.UI.Text TooltipText; public Vector3 ToolTipOffset; void Awake() { instance = this; if(!TooltipText) TooltipText = GetComponentInChildren(); HideTooltip(); } public void ShowTooltip(string text, Vector3 pos) { if (TooltipText.text != text) TooltipText.text = text; transform.position = pos + ToolTipOffset; gameObject.SetActive(true); } public void HideTooltip() { gameObject.SetActive(false); } // Standard Singleton Access private static BoundTooltipItem instance; public static BoundTooltipItem Instance { get { if (instance == null) instance = GameObject.FindObjectOfType(); return instance; } } } }