| Parameter | Description |
|---|---|
| window | The GameWindow instance this extension method is implicitly called on. |
| region | A Region struct containing lists of rectangular areas to include and exclude from input. |
AsyncOperation An AsyncOperation that can be used to track the completion of the input region update operation.
Sets the input region for the specified window. This is an extension method for GameWindow.
This method allows you to define which areas of the window should receive input events and which areas should be excluded. This is useful for creating custom input handling behavior in EmbeddedLinux (Wayland) environments.
Notes:
- This method is asynchronous and returns an AsyncOperation that you can use to track the completion of the operation.
- The Region parameter contains two lists of rectangles: one for inclusion regions and another for exclusion regions. The system adds the inclusions first, then subtracts the exclusions in that order.
- Calling this method replaces any previously set input regions for the specified GameWindow.
- This method is available only on EmbeddedLinux platforms with Wayland support.
using System.Collections.Generic; using UnityEngine; using UnityEngine.Windowing; using UnityEngine.Windowing.EmbeddedLinux;
public class WindowingInputRegionsExample : MonoBehaviour { void Start() { Region region = new Region() { // rectangles to include for input inclusions = new List<RectInt>() { new RectInt(0, 0, 300, 300), new RectInt(250, 250, 150, 150) }, // rectangles to exclude from input exclusions = new List<RectInt>() { new RectInt(100, 0, 200, 200), new RectInt(250, 250, 50, 50) } };
var op = GameWindow.Main.SetInputRegion(region);
op.completed += _ => { Debug.Log($"Input regions set for {GameWindow.Main.GetTitle()}"); }; } }