unit – How can I prioritize the order of calls of decoupled scripts?

I have a player with many individual components that each handle a behavior such as jump, block, attack, bend, etc. None of the scripts are known. Everyone listens to a specific input to trigger. Some behaviors share the same entry depending on the state of the characters, such as ok ground, in the air.

I encounter a problem that triggers the wrong behavior with a shared entry (down + attack instead of down + attack maintained for x seconds).

I'm looking for tips on how to handle these behaviors and to have more control over what can happen when.

I have tried to solve this problem by creating a method that will temporarily disable other behaviors when performing the action. I've also changed the order of execution of the script.

I've thought about adding a separate drive state and limiting the behaviors that can be executed at a given time, but it adds a bit of complexity.