Skills activation and deactivation

So im kinda new to programming and i am stuck, basically what i wanna do for my game is that is possible you to pick skills like when my character touch an object he win a power, so basically the code is,

void Update()
{
Dash();
}

if i put just the Dash(); in the void update i will be able to use it every time and i just want the player to possibly use the skill if he touches something so it can deactivation and activate the Dash(); , anyone to help?

obs: sorry for the english.

If I were you, I would not put the dash function in Update. Maybe droven by some input event like keyboard…

Why Dash() inside Update()? Just create a public void Dash() then call it when you need it (example when touch an object)

this looks like a good idea so like i said im kinda new so i will try this, thanks guys.