Search Issue Tracker
Fixed
Fixed in 2020.3.X, 2020.3.40f1
Votes
0
Found in
2020.3.34f1
Issue ID
UUM-1801
Regression
No
[Backport] IL2CPP doesn't properly handle invalid surrogate pairs causing crash
TextMeshPro accepts surrogate pair characters (e.g. emojis), however it doesn't properly handle them causing a crash within the IL2CPP marshaller. This impacts Universal Windows Platform apps when using the TouchScreenKeyboard, e.g. on the HoloLens device, but can be reproed on Windows desktop and may occur on other IL2CPP platforms as well.
Steps:
1. Open the attached Unity project
2. Switch to the Universal Windows Platform (UWP/WSA)
3. Build and Run the app
4. Select the TMP InputField in the bottom-right corner of the window
5. Open the Windows On-Screen keyboard (may need to enable it first in Settings)
6. In the On-Screen keyboard, click the "smiling face"; switches to the "emoji" panel
7. Click on an emoji from the keyboard to enter it into the TMP InputField
Expected: Placeholder characters like "boxes" or '?' are displayed in TMP (doesn't support rendering emoji characters)
Actual: The app hard crashes
NOTE: This bug might impact other platforms in addition to UWP, but it requires a combination of TouchScreenKeyboard input, surrogate pair character input, and IL2CPP back-end
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Some post-processing volume overrides only update after a refresh when using HDRP
- Video Player glitches when Skip On Drop is enabled
- GameObject movement in Scene view becomes stuttery and intermittently freezes when using non-standard pointers across editor tabs or window boundaries
- Addressables.CheckForCatalogUpdates() always returns 0 when "Only update catalogs manually" is enabled
- VFX Graph forces a lengthy recompilation freeze when exiting Play Mode with a cloned Render Pipeline asset
Add comment