> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksiinputprocessor.md).

# Interface ksIInputProcessor

Namespace: [KS.Reactor.Server](/reactor/api-reference/ks.reactor.server.md)\
Assembly: KSReactor.dll

Interface for processing player input. [ksServerPlayerScript](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksserverplayerscript.md)s should implement this if they need to process player input.

```csharp
public interface ksIInputProcessor
```

## Methods

### ProcessInput(ksInput, int) <a href="#ks_reactor_server_ksiinputprocessor_processinput_ks_reactor_ksinput_system_int32" id="ks_reactor_server_ksiinputprocessor_processinput_ks_reactor_ksinput_system_int32"></a>

Do any input processing and updating of player controllers here. May be called multiple times in one frame if multiple frames of client input arrive at once.

```csharp
bool ProcessInput(ksInput input, int numUpdates)
```

#### Parameters

`input` ksInput

Player input

`numUpdates` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The number of new frames of client input being processed this frame. Zero if there were no new frames of input to process and we are repeating the last frame.

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True to stop any other input processors from processing the input. If all input processors return false and none of them use the input (by calling [UpdateControllers](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksiserverplayer.md#KS_Reactor_Server_ksIServerPlayer_UpdateControllers_System_Single_2cKS_Reactor_ksInput_) or [Use](/reactor/api-reference/ks.reactor/ks.reactor.ksinput.md#KS_Reactor_ksInput_Use)), Reactor will process the input and update controllers.
