Docsv3.31.0
Back to API Reference
Class

ManagedInputBackend

sealed

Unity-event backend for keyboard editing and single-clause IME composition.

Remarks

Keys and characters both come from the operating system's key events, drained through PopEvent while a field is focused — the same source Unity's own input fields read, which is what carries layout-resolved characters and the system's key repeat. The drain consumes those events, so other consumers stop seeing keyboard input while a field is focused. The backend does not show software keyboards, present native fields, or consume pushed document windows.
public bool WantsTextContext{ get }

Gets whether pushed document windows are consumed.

public void OpenInput(in NativeInputOpenRequest request, NativeInputReporter value)

Opens one reporter epoch.

public void SetCursorScreenPos(Vector2 screenPos, float lineHeight)

Updates Unity's IME candidate position.

public void SetInputFieldRect(Rect screenRect)

Accepts focused-editor geometry without platform presentation.

public void QuiesceInput(NativeInputReporter value, NativeCompositionDisposition disposition, Action quiesced)

Drains the current frame, resolves composition, and completes the barrier.

public void CloseInput(NativeInputReporter value)

Releases a quiesced epoch.

public void AbortInput(NativeInputReporter value)

Abandons an epoch and clears composition state.

public void PushTextContext(string text, int windowStart, int selectionStart, int selectionEnd, bool forceRestart)

Accepts a document-window update without retaining it.

public void FlushPendingInput()

Reports at most one ordered snapshot of Unity input per rendered frame.

public void Dispose()

Releases the epoch and composition state.

public static const int FallbackPriority

Priority below built-in native transports.