This plug-in can make your games more responsive by introducing Input Buffering to your projects. If you are working on action or fighting games, it’s definitely worth a try. All functionality is exposed via Blueprint, no need to write C++ code.
You can use UInputBufferComponent::GetLastEvents to retrieve the input in the last frame or UInputBufferComponent::GetHistoryRecords to retrieve the input over multiple frames. Then you can count how many input events there are.
I am not sure what you mean by the last part of your question. Do you mean, you want to ignore inputs if there are a lot of them? If so, first you can set the capacity of your input buffer. If it’s low, then you will never have a lot of inputs in the buffer. Second, you can set a time limit to retrieve inputs of last n seconds.
u can do that in blueprints?
Point is, you see god of war games. its slasher where you have to bash buttons and if you will bash a lot of buttons you will have to wait for every button to finish its animation. so as u said i can set max buffer size to store input number?
The thing is you need to register translated events and translate input events of Right/Left into Forward/Back in the TranslateInputEvent function. You didn’t show your TranslateInputEvent function so I can’t tell if you did it right.
But I can see there’s a mistake, KeyMappingName in EventSetups is used to reference a mapping in KeyMappings list, so it should be the name of one item on the list. Your KyeMappingName is “Move Right”, and the Name of your KeyMappings is “Forwards”. That’s certainly not correct. If you are still learning how to use this plug-in, I suggest you stay away from KeyMappings. It is not necessary to use it. It’s for input events of the same key mappings that have different input event types.
By the way, there is a space in your KeyMappingName. I am not sure if it’s valid for variables of Name type.
lol Thanks for getting back fast,
Yeah I am confused in what needs to be done in that function.
Looking into everything at the moment and cant find any details about this.
I got a Direction in character BP called Direction and it is a Name String.
I think this project is a little bit hard at the moment for me while i am learning C++ and Blueprints.
Getting the abilities and stuff is ok for me, But its the logic of more complex things, I found out how to make
The characters always face each other In a street fighter /MK type of style.
Have you got any other documentation on this apart from the website blog and also the Youtube videos?
I wanted to comment because I know a bit about fighting games.
You shouldn’t label your inputs as “forward” or “back” because “forward” will always be relative to your opponent. Everything should be labeled in a “left or right” notation.
The concept of “forward” and “back” is purely for player level understanding of the commands, that they switch depending on facing direction.
EDIT: I see you do have “Forward Left” and “Forward Right”, so that makes my above post irrelevant xD
Sorry for not providing doc for that, I was planning to make a tutorial video about that but I am quite busy with relocation and there are other videos with higher priority so I don’t think that it will come out soon.
What you need to do in that function is to return translated input events according to the situations in your concern, i.e., the facing of characters.
Let’s say we have two input events, Left and Right. What we have to do is translate them into Forward or Back in the function TranslateInputEvent. Provided that somehow we have a function named IsFacingRight returning whether the character is facing right. So when the input is **Right **we need to return **Forward **if IsFacingRight returns true and return Back otherwise like the following illustration:
My above issue is that, I have two characters being controlled by two players, one from keyboard and another from gamepad. When I use the characters they work on both, until the gamepad player 2 tries to do the inputs. They both are the same blueprint class. (AAA)
Yeah, I saw that now, thanks. Isn’t it better to use a struct for the input and montage? It’s easier because you can see the input and the animation at the same time and also you could have montage arrays for each state (jumping, crouching) and trigger them with the same input based on a state check.