There's an issue where charge is lost when a different direction is pressed that should still count for the charge direction. For example a [4]6 charge is lost when you are pressing backwards and then also press down at the same time for a down back press. Typically, since you never let go of back, you should still have charge.
Can I ask your help to fix this? I have tried creating a "true backwards" composite input that is made up of backwards, up backwards, and down backwards but it hasn't worked. I suspect something with how inputs are read to have been repressed is involved with causing this issue.
I'm using the Godot 3.5 version that's in the demo, not the Godot 4 version. Thank you
EDIT: Figured it out
input_state.press() is being called a second time because of the virtual press feature. press() resets the time_pressed variable when this happens which is what is checked for if enough time has passed for a charge motion input. To fix, just put an if statement like so:
if not is_virtual_press:
time_pressed = OS.get_ticks_msec()
Again, this is for Godot 3.5 version. I don't know much about the Godot 4 version of Fray but this might be useful there, too.