Today i was working on a project where i required to add the invisible button. I tried different methods like making button transparent, adding the image in the button. But then i came to know about this solution. I think that this is probably the best solution.

Steps to add invisible button in Unity3D

1. Add the Button. (UI -> Button)
2. Edit the height and width of the button according to your fit.
3. Delete the Image(Script) and the text from the button.
4. Create new C# script (Touchable.cs) and add the following code into it:

// Touchable.cs
using UnityEngine;
using UnityEngine.UI;
using UnityEditor;
public class Touchable_Editor : Editor
{ public override void OnInspectorGUI(){} }
public class Touchable:Text
{ protected override void Awake() { base.Awake();} }

5. Add Touchable.cs script to the button.


Now you have the invisible button.

Source: UnityForum