Known Problems
Missing References or Scripts
TextMeshPro Support are Disabled After the Platform Switch
Newly Created Widgets are White

ListView Item Highlight or Selection Goes to Next Items Automatically
Standalone Input Module:
open Project Settings / Input Manager
find Horizontal and Vertical records with
Type
=Joystick Axis
(there are two of each, another one for keyboard)rename those Horizontal and Vertical records to names not used by
Standalone Input Module
Input System UI Input Module:
open Project Settings / Input System Package
add keyboard, mouse, and other required devices to the
Supported Devices
Input System Limitations
Input System is supported, but its limitations are still applied.
Limitations effects:
After enabling, the UI will not react to a pointer’s position until the position is changed.
It will affect ListView, TileView, Table and others: items under the cursor will not be properly highlighted when scrolling.
The new input system cannot yet feed text input into uGUI and TextMesh Pro input field components. This means that text input ATM is still picked up directly and internally from the Unity native runtime.
It will affect all widgets that use InputField like Autocomplete, AutoCombobox, Spinner, etc…
Dragged Objects Lagged Behind the Cursor
This happens because the cursor is rendered by the system (hardware cursor). But the game window displays frames with some lag because of enabled VSync and QualitySettings.maxQueuedFrames (frames buffer). So you see the actual cursor position and game screen that match the cursor position 1-3 frames before.
Solutions: use software cursor, it will have input lag, but there will be no difference in cursor and draggable object positions.
Add such a script at the start to change the cursor to software mode. You need a cursor image to do this, you can copy and edit “cursor_arrow_minus.png” to remove the minus sign.
using UnityEngine;
public class SoftwareCursor : MonoBehaviour
{
[SerializeField]
Texture2D cursor;
[SerializeField]
Vector2 cursorHotspot = Vector2.zero;
public void Start()
{
Cursor.SetCursor(cursor, cursorHotspot, CursorMode.ForceSoftware);
}
}