---
title: PreUpdate.InputForUIUpdate
product: Unity Editor
version: '7000.0'
latest_version: '7000.0'
status: This page documents version 7000.0. The latest version is 7000.0.
canonical: https://docs.unity.com/en-us/engine/7000.0/script-reference/unityengine/playerloop/preupdate/inputforuiupdate
latest_url: https://docs.unity.com/en-us/engine/7000.0/script-reference/unityengine/playerloop/preupdate/inputforuiupdate.md
last_updated: 2026-10-29
generated_at: 2026-11-04T04:59:15.513Z
locale: en-us
---

# PreUpdate.InputForUIUpdate

> Native Player loop system that reads input from the active input backend and dispatches it as input events to runtime UI Toolkit panels.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.PlayerLoop](/engine/7000.0/script-reference/unityengine/playerloop.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public struct PreUpdate.InputForUIUpdate
```

## Remarks

This system works with both the Input Manager and the Input System package. If you remove it, runtime UI Toolkit panels stop receiving pointer, keyboard, and navigation input. This system is active only in Play mode.

This struct identifies a native system in the Player loop. It has no members, and the system's update logic runs in native engine code. Use this type with [PlayerLoopSystem.type](/engine/7000.0/script-reference/unityengine/lowlevel/playerloopsystem/type.md) to find the system when you reorder, replace, or remove it in a custom Player loop. For more information, refer to [Customizing the Player loop](/engine/7000.0/manual/scripting/managing-update-order/player-loop-customizing.md).
