If you get WEU, it has a feature allowing you to upgrade non-mechanical units. However, here's a way to upgrade your units, having the same efect as upgrading units in WEU.
First off, make a dummy ability and make it look like an uupgrade. Now give that to your hero.
Upgrade
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Upgrade
Actions
Set Castingunit = (Casting unit)
Animation - Change Castingunit's animation speed to 0.00% of its original speed
Wait 7.00 seconds
Unit - Hide Castingunit
Unit - Create 1 Upgraded hero for (Owner of Castingunit) at (Position of Castingunit) facing (Facing of Castingunit) degrees
Unit - Remove Castingunit from the game
Game - Display to (Player group((Owner of Castingunit))) for 2.00 seconds the text: Upgrade finished.
This will totally freeze the casting unit for 7 seconds, then removing him and replacing him with a new unit. The reason I hid him first was because if you create
the new upgraded hero before you remove the older one, he will not spawn at the position of the hero due to collision size. You could remove him, then place the new unit but it will not spawn because your old unit is not there. This mgiht sound complicated, but just remember it's better to CnP and sometimes not know what everything exactly is

.