we will start from the bottom first as it will be easier to explain:
![](https://media.wikiful.com/ea23f3ff-9e94-47ce-a41e-7f1de5f32454/bcff552e-2f1e-4d48-92df-57d10e0faef5/Untitled2-786.png)
1) Buffer info
this will hold the info about the input you want to buffer in addition to the property it will fire. the input part is easy for you to choose. the property is what you want to do, by default I have provided you with 2 properties.
![](https://media.wikiful.com/ea23f3ff-9e94-47ce-a41e-7f1de5f32454/b8d0826e-3d63-4856-904a-3aa871de47a6/Untitled2.png)
the first one is a play animation property, so say for example you added left mouse button as an “allowed input” and you set the property to use “BP_PlayAnimationBufferProperty” then it will try to run an animation if left mouse gets processed. (more details about the properties HERE, please read it first before continuing)
Also, please note that buffer info is an array so you can add multiple elements. we will explain how this will work in a bit
2) Input Buffer Type
![](https://media.wikiful.com/ea23f3ff-9e94-47ce-a41e-7f1de5f32454/7612e04a-dc9d-4fe8-a1b3-6c9bd36e0054/Untitled2.png)
there are 3 types, and we will start with them one by one:
Last Registered Input
for the length of the notify, it will listen to all inputs and ONLY record the last of them. so, if you buffered Space/left mouse/ right mouse button AND ADDED THEM TO THE “BUFFER INFO”, it will only process the right mouse button as it was the last registered input. note that if you don’t specifically specify the allowed input in the allowed input, it will not register it.
the timing when the last registered input will run is when the notify ends, so at the end of the notify.
Highest Priority Input
the exact same as last registered input but it will take the one with the most priority. say you put “Space/left mouse/ right mouse button” in order and during gameplay you clicked right mouse/space/left mouse, it will choose to process Space because it has the priority as index 0 in the array.
the timing when the Highest Priority input will run is when the notify ends, so at the end of the notify.
Instant Input fire
this one will attempt to run the moment the input is buffered so instantly without looking for any priority or time.
the timing when the input will run is Instantly, NOT at the end of the notify.
3) Buffer Class
this one is the core of everything, by default, its set to “BP_SingleProcessInputbuffer” so it will attempt to process 1 single input. there are conditions for when a property will fail to run (which is explained in the “properties” page so please take a look at it), once that fails, it will not try to run the next inputs in the buffer, it will just fail to run.
with that in mind, there is a “BP_MultipileProcessInputbuffer” as a 2nd option which will attempt to run all of them in order depending on the Input Buffer type.
the third option is “BP_OldSingleProcessInputbuffer” this one will record inputs that are clicked “BEFORE” the notify state started and attempt to run it exactly the same as “BP_SingleProcessInputbuffer” this is only a niche type and I doubt most of you will use it but its good to show you the options you have.
4th and last is "BP_OldMultipileProcessInputbuffer” at this point you can already guess that this will do, instead of a single input, it will attempt to run multiple and similarly, it will also record the inputs clicked before the notify started.