Use without animation event will call ScheduleCompleteEvent every frame

The original code is correct. You do not want to wait for the event because that would prevent you from being able to schedule it again in the case of a combo.
 
in my understanding, when i uncheck both use and useComplete event, and use 0.4 and 0.1 duratioin and, 1s in StopUseAbilityDelay what i expect are:

1. start item animation (e.g. start attack)
2. 0.4s later, use event triggered, melee weapon start to check collision
3. 0.1s later, useComplete triggered, melee weapon stop to check collision
4. 1s later, animation stops.

but 4 never happen, the animator param wouldn't change at all, the character stuck forever.
 
I can't replicate this issue in the demo scene. Try using the Animator Monitor component to log parameter changes & events. If the animator parameter itself isn't changing then there may still be an event that your animation is executing at a bad time (check your animation's event timeline and try just deleting all of them).
 
Top