UGTK cat mascotUGTKengine within an engine Request access

UGTK / Toolkit / Ui Module / Keyboard System Completed

Ui Module — UGTK

Keyboard System

Summary

A system that provides the user with an on-screen keyboard that is highly customizable. It allows typing, deleting, using uppercase for letters, and organizing characters into categories, enabling the display of special symbols and other character sets as desired.


Content


Modules Dependencies

The Keyboard System module does have external dependencies within the UGTK. It use HorizontalAutoResize and VerticalAutoResize.


Setup

To set up the Keyboard System, follow these steps:

Add InputFieldCompatibleWithKeyboard prefab;

Choose the way you want to have the keyboard in the scene:

Keyboard Default Setup

  1. Add Keyboard - 16-9 prefab;

Keyboard Vertical Screen Setup

  1. Add Keyboard - 9-16 prefab;

Keyboard with unknown screen ratio

  1. Add KeyBoardPlaceholder prefab


Testing Scene

Open KeyboardScene in the module's Scene/ folder: one input field in the middle of an otherwise empty scene.

What to do, in order:

  1. Enter Play Mode and click the field. The keyboard rises from the bottom on the field's own onSelect, so nothing needs wiring: any TMP_InputField carrying Mn_TextInputFieldWithKeyboard summons it.
  2. Type with the on-screen keys, including a backspace. Above, the field fills as you go.
  3. Switch to .?123 and back, then try accented characters and an apostrophe.
  4. Select a field near the bottom of the screen and check the keyboard does not cover it.

Step 3 is where trouble starts downstream: a font missing those glyphs shows a rectangle, and an unescaped apostrophe breaks a query on the server. At a desk the physical keyboard bypasses this system entirely, so the path that ships is never the path you exercise by hand.

Step 4 is not hypothetical, and the demo scene shows it: the field sits just above the keyboard's top row and ends up half covered by it. Whatever raises the keyboard in your game should also move the focused field clear of it - the keyboard reports its own height for exactly that.


Technical Info

The following are the main scripts and workflow of the Keyboard System:

Scripts:


© 2026 Marcello De Bonis. All rights reserved