Skip to content

Changelog

Notable changes to Upscale SDK. Entries are ordered newest first. Dates correspond to the final commit in each update; they do not identify versioned releases.

See the Roadmap for implemented features and future plans.

2026-10-02 — Device layouts and controller models

Changes between dc3290e and a150120.

Added

  • Visual device layouts: GamepadLayoutView, KeyboardLayoutView, and MouseLayoutView display a device image with action labels and connector lines. Labels are arranged around the device with configurable spacing and line routing.
  • Control hint lists: DeviceLayoutListView displays action icons and labels in a horizontal or vertical container. It supports automatic device selection and explicit device overrides.
  • Shared layout data: DeviceLayoutActions provides a reusable list of actions and labels for multiple device views.
  • Device connection updates: layout views rebuild when input devices connect or disconnect.
  • Visual layout authoring: glyph set Inspectors support device image previews and button anchor placement by clicking, dragging, or entering coordinates.
  • Layout validation: custom Inspectors report missing references required by device layout components.
  • Controller model detection: detection distinguishes DualSense, DualShock 4, Xbox Controller, Switch Pro Controller, and Joy-Cons.
  • Expanded visual assets: separate Joy-Con glyph sets, additional controller and keyboard images, and anchor data for device layouts.
  • Glyph API extensions: action definitions expose GlyphSources; glyph providers support lookup for a specific device; glyph sets expose device images, anchors, and reverse lookup from sprites.
  • Device Layout sample: a demonstration scene with action assets, row and line prefabs, and controls for switching between device views.
  • Desktop save cleanup: Tools → UpscaleSDK → Saves → Delete All Saves deletes desktop save files after confirmation.

Changed

  • GamepadType now identifies controller models instead of platform families.
  • SDK configuration now has separate glyph set fields for DualSense, DualShock 4, Switch Pro Controller, and Joy-Cons.
  • Gamepad glyph selection uses the detected controller model.
  • Base gamepad actions now use the updated controller model values.
  • Expanded UPSInput API descriptions to explain initialization, bindings, subscriptions, device queries, and vibration.

Fixed

  • UPSInput.GetConnectedDevices() now returns an empty array when the input module has not been initialized, avoiding null-reference errors during early calls and Editor previews.

Upgrade notes

  • Update references to GamepadType. The previous Nintendo, PlayStation, and Xbox members have been replaced by model-specific values.
  • Review serialized gamepad type values. Numeric value 1 previously meant Nintendo and now means DualSense; existing serialized selections may need migration.
  • Review custom SDK configuration assets. Several serialized glyph set fields were renamed. Reassign the relevant icon sets where needed, including the separate Joy-Con set.
  • Update custom API implementations. Custom InputActionDefinition subclasses must provide GlyphSources, and custom IGlyphProvider implementations must implement the new lookup overloads.

2026-07-20 — Keyboard, mouse, and UI improvements

Changes between 111145d and dc3290e.

Added

  • Keyboard and mouse input: keyboard keys, WASD and arrow-key axes, mouse buttons, movement, position, and scrolling.
  • Default action sets: BaseKeyboardActionSet and BaseMouseInputActionSet.
  • Binding helpers: ToKey, ToMouseButton, ToMouseAxis, ToWASD, and ToArrows.
  • Keyboard and mouse glyphs: dedicated icon sets, custom Inspectors, and a desktop glyph demonstration scene.
  • Additional UI controls: ActionToggleElement, ActionScrollbarElement, and ActionScrollViewElement, with custom Inspectors.
  • PS5 save error dialogs: native system dialogs for insufficient storage during saving and corrupted data during saving or loading.

Changed

  • Split PlayStation glyph configuration into separate PS4 and PS5 sets.
  • Glyph selection now prioritizes connected gamepads, with keyboard and mouse fallbacks.
  • Renamed BaseInputActionSet to BaseGamepadActionSet.
  • Exported SDK package filenames now include the export date and Git commit ID.
  • Updated Input and UI documentation, sample scenes, screenshots, and PS4/PS5 save error handling documentation.

Fixed

  • Action button icons now refresh when devices disconnect and are only shown when a matching input source has a connected device.
  • Mouse position checks against Game View bounds now apply only in the Unity Editor.
  • Corrected cross-type links in generated API documentation.

Upgrade notes

  • Replace references to BaseInputActionSet with BaseGamepadActionSet.
  • Update custom IInputProvider implementations for the renamed gamepad methods and new keyboard/mouse methods.
  • Update custom glyph implementations for keyboard/mouse support and the new IGlyphSource.Device property.
  • Review SDK configuration assets: assign separate PS4/PS5 glyph sets and the new keyboard/mouse sets.