Cyrillic support for QueryDescendants

As a Roblox developer, I can’t use QueryDescendants if for example, i am searching Instances that named with Cyrillic letters.

If this issue is addressed, it would improve my development experience because I’ll be able to use QueryDescendants! For example, I have a “skins” folder containing four other folders: “event skins,” “standard,” “admin,” and “secret.” Instead of searching for a skin using a for loop, I could use QueryDescendants.

2 Likes

You’re really not recommended to name instances with other characters than in the English alphabet

4 Likes

The game I’m working on was created when its owner was a schoolboy, and he didn’t know that this wasn’t recommended. Now, if we want to switch to QueryDescendants, we’ll have to replace skin names in the DataStore for all players. It would be easier for us to switch to alternatives to QueryDescendants, or Roblox should add Cyrillic support (that’s why I created this Feature Request).

Also, why do FindFirstChild and WaitForChild work with Cyrillic characters, but QueryDescendants doesn’t? I don’t know how the engine works, so please correct me if I’m wrong.

1 Like

FindFirstChild and WaitForChild just have to locate an instance with a specific name, this is a very simple string == string check internally. But for QueryDescendants, it has to dissect the string you pass it, and parse it into a set of rules to check against all the descendants of that instance, and it’s likely not all of those rules have been properly tested for or designed to work with most non-English characters.

6 Likes

do you know that also you just can’t find instance which has space in its name with QueryDescendants?.. query syntax just does not support such thing.

what i mean here, use English letters as @Tavikron said, numbers, “_”.
If you see anything else - rename them “as ASAP as possible”(c), it does not matter how hard it looks like, it’s always better in a long term.

1 Like

It technically does, it just takes an extra little step: print(workspace:QueryDescendants('[Name="Test Instance"]'))

Personally my advice to them would be to use Studio’s assistant for this, it is surprisingly really good at this kind of mass renaming/refactoring work.

1 Like

That’s a nice hint.
Great to know.
Thanks!

3 Likes

That is incredibly odd
I suppose it for some reason uses least significant bit set to 1 as a terminator
Other than that there is quite literally no reasons why it doesn’t work with cyrilic
Do agree through that only ASCII keys should be used for naming

2 Likes