Hey everyone,
I’m currently developing a Unity WebGL project with UI built entirely in Unity using the Canvas system, and I’m running into some frustrating user experience issues when testing on mobile browsers (both Android and iOS):
- Virtual Keyboard Overlapping Input Fields
When a user taps an input field, the virtual keyboard appears, but it ends up covering the input field, making it hard (or impossible) to see what you’re typing. There’s no automatic scroll or repositioning of the canvas to bring the focused input field above the keyboard, which is pretty crucial for usability.
- Screen Shift Due to Native Text Input UI
On certain mobile devices and browsers, when the keyboard appears, a native browser text field (kind of like a suggestion or quick input bar) also shows up at the top. This causes the whole page to scroll or shift, and the Unity canvas gets pushed or misaligned, breaking the layout or pushing the actual input off-screen.
- Additional UX Concerns
- No Soft Keyboard Awareness: Unity WebGL doesn’t seem to have reliable detection for the keyboard height or state, making it hard to adjust the layout manually.
- Inconsistent Behavior Across Browsers: What works in Chrome on Android might break in Safari on iOS, or even behave differently across versions of the same browser.
What I’m Looking For
- Workarounds or best practices to reposition input fields above the keyboard on focus.
- Tips for locking canvas position or handling layout shift due to native browser UI.
- Any proven solutions or third-party plugins that improve WebGL mobile input experience.