Input Text area behaviour changed in unity 2023+, how to revert?

up to Unity 2022.2.18 I have worked using literal unicode values in different text areas in inspectors, these in combination with a nice icon font like fontawesome and TMP work great, here is an example:

you can see that I can put the literal “\uf357” there and it renders as the shield icon in scene

this behaviour changed in u2023, at least in 2023.2 and unity 6.

Now the moment I finish typing the “\uf357” the textbox instead of retaining the literal “\uf357” characters it replaces them for a rectangle symbol:

the shield icon still shows in the game, the problem is that the rectangle symbol is useless, you can’t copy-paste it (if you do, you paste the rectangle symbol and not the original unicode value), you can’t recall which unicode it was for that shield icon, I think the old behaviour is way more practical and useful.

Also this also happens in other textboxes and string inspectors along the UI, so it’s probably not a TextMeshPro issue.

Can we revert this back to the old behaviour? is this configurable?

EDIT: its interesting how if you enable the RTL editor in TMP you can still see the unicode value there but inversed :laughing:

image

I’m bumping this cause I feel like it might be a very simple tweak to do engine-side to avoid automatically converting explicit unicode string characters to their symbols (or default rectangle symbol) in any text input boxes across the editor UI. And this is broken behaviour from past Unity versions so it might be good to look at.

@karl_jones not sure if you are the right guy but I’ve seen you answer other UI related posts, I’ll appreciate any help here !

Please file a bug report Unity QA: Building quality with passion

I suspect this is intentional and part of some of the text upgrades but its worth flagging it so we can consider people who will not want unicode values replaced.

1 Like

thanks, I already reported it, let’s hope somebody can take a look at it soon.

1 Like