Class InputProcessor
A processor that conditions/transforms input values.
Namespace: UnityEngine.InputSystem
Syntax
[Preserve]
public abstract class InputProcessor
Remarks
To define a custom processor, it is usable best to derive from InputProcessor<TValue> instead of from this class. Doing so will avoid having to deal with things such as the raw memory buffers of Process(Void*, Int32, InputControl).
Note, however, that if you do want to define a processor that can process more than one type of value, you can derive directly from this class.
Methods
Process(Void*, Int32, InputControl)
Declaration
public abstract void Process(void *buffer, int bufferSize, InputControl control)
Parameters
Type | Name | Description |
---|---|---|
Void* | buffer | |
Int32 | bufferSize | |
InputControl | control |
ProcessAsObject(Object, InputControl)
Process an input value, given as an object, and return the processed value as an object.
Declaration
public abstract object ProcessAsObject(object value, InputControl control)
Parameters
Type | Name | Description |
---|---|---|
Object | value | A value of type |
InputControl | control | Optional control that the value originated from. Must have the same value type
that the processor has ( |
Returns
Type | Description |
---|---|
Object | A processed value based on |
Remarks
This method allocates GC heap memory. To process values without allocating GC memory, it is necessary to either know the value type of a processor at compile time and call Process(TValue, InputControl) directly or to use Process(Void*, Int32, InputControl) instead and process values in raw memory buffers.