Okay, I normally do not approve of sprite rips, especially ones... this ugly, but I'll let it slide because there's a custom ability on it.
However I have to ask... why does it act like this? Pressing jump normally does nothing at all, and the primary function is on Custom 1? Why isnt this using an AbilitySpecial hook so it can be on jump instead? Why did it need this extra button? In addition, charging this double jump means... pressing spin in midair. There's nothing stopping you from pressing jump and spin 4 times to get it to max, other than time spent doing so, and needing to deal with your shield triggering as you try to do it. The ability is there, but it feels super awkward to execute.
You may be onto something here, but it just feels like a pretty poor quality Sonic overall. I do hope you think of perhaps another method to rack up midair jump strength, and PLEASE just use the AbilitySpecial hook instead of custom 1. Try to not use custom buttons unless you absolutely need to, especially when the clear answer is right there.