Reproduction steps:
1. Open the attached project "ReproProj"
2. Build and Run the “Scenes/SampleScene” Scene
3. In Player, select the white text input field at the top left
4. Press the “Win” key and “.“ at the same time
5. Select any emoji from the emoji keyboard
6. Observe the white text input field
Expected result: Selected emoji is present
Actual result: Question marks are present
Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: Windows 11
Note:
IsWindowUnicode() returns true for both windows
Customer notes:
We have an idea about this strange behavior. Unity uses GetMessage and PeekMessage methods in the main window loop. Possibly, UnityPlayer.dll was built without "UNICODE" defined. In that case, ANSI versions of these methods were used (GetMessageA and PeekMessageA respectively). Instead of GetMessageW and PeekMessageW. We used DllViewer and looks like UnityPlayer.dll linked to GetMessageA and PeekMessageA version only.
Prioritise and Follow this issue
Have a workaround or additional info about this issue?