General Note:
Version 2.0.0 is available on the AssetStore. Current 1.9.* versions will still be updated with bugfixes, but new features will be implemented in version 2 of the plugin. So, if you are starting a new project it’s better to use version 2 of the plugin.
The upgrade to version 2 of the plugin is free for existing users.
Support thread for version 2
Upgrade Notes when upgrading from an earlier version than 1.6.0 to 1.6.0 or newer.:
Following files and directories should be removed before importing new package:
- Plugins/Scripts/Helper/PointerListener.cs
The format/structure has changed to support both Unity and TextMeshPro Text Renderers. This means that AdvancedInputField instances made with an earlier version than 1.6.0 are deprecated and should be converted with the included ConversionTool (located in the “Advanced Input Field” dropdown).
UWP Note:
Please use XAML as build type, D3D seems to give issues.
General:
While I was developing a mobile app I noticed that default Unity InputField behaved differently than I would expect on Android & iOS. Also there were differences in behaviour on Android & iOS. Some implementations were had to realize, such as filling in a form inside a ScrollRect easily. Pressing the inputfield (to drag inside the ScrollRect) would show the TouchScreenKeyboard, making scrolling inside the ScrollRect annoying.
This plugin started as only a new native binding for the TouchScreenKeyboard, but in the end a reimplementation of the InputField was needed too (to handle some other annoying issues/bugs) and to add new features.
Advanced Input Field:
Asset Store Link
Android samples:
These are builds (apk) of the Sample scenes of the plugin build using the latest version of the plugin.
Samples (Android)
This plugin is a custom implementation of the Unity Input Field (it still inherits from Selectable base class). It adds several features and fixes multiple bugs that were in the original Unity Input Field. The logic has been split over multiple (platform specific) classes to improve readability. For Mobile platforms (Android, iOS & UWP) a whole new implementation has been written, because these were the platforms with the most annoying bugs. Also new bindings for the native keyboards on Android, iOS & UWP have been added to control more keyboard settings.
Supported platforms: PC, Mac, Android, iOS & UWP (Smartphone, Tablet & PC)
Features:
- Default features on the original Unity InputField
- Process edited text on deselect (using PostProcessingFilters)
- Next Input Field option to control which InputField should be selected when done editing. (Tab key
on Standalone platforms and Done/Next key on Mobile platforms). - Mobile only: Show ActionBar with cut, copy, paste and select all options
- Mobile only: Selection Cursors (Draws selection sprites for start and end of text selection to control
the selected text more easily in large text blocks) - Gestures for Mobile added: Single Tap: show ActionBar (if enabled)
Double Tap: Select word
Hold: Select word + show ActionBar (if enabled) - Event for keyboard height changes in the new NativeTouchScreenKeyboard binding.
- Added a KeyboardScroller component to scroll content when TouchScreenKeyboard appears/hides.
- Support for TextMeshPro Text Renderers
- Multiple InputField Modes (indicates how to handle text bounds changes): SCROLL_TEXT, HORIZONTAL_RESIZE_FIT_TEXT and VERTICAL_RESIZE_FIT_TEXT
Feel free to contact me for feature requests and reporting bugs.
Please check the Trello board of the plugin before reporting bugs/asking for features:
Trello board
Changelog:
Pastebin link