Check string or text: can be a filename?

There is partially funny moment: by entering name for gun preset “RailGun(10000km/s)” I wanted to save file “RailGun(10000km/s)”, but got folder “RailGun(10000km” with file “s).STP” inside it.
And so I need to filter out text, that cannot be saved as file.

If I will write my own C++ function for that there is slight chance that I will reinvent the wheel. Usually that ends up pretty badly, but I don’t think that it’s that case. (I just remembered what there was a mess with GameMode…)

What characters of the string must not be in filename? Is there any blueprint function to check that or I need to write it on myself? I can check what characters are REALLY must not be in file name, by trying rename file to “?”, but I can miss something.
For e.g. Russian characters are fully supported, even pain-in-***-for-ASCII 33-th character ‘Ё’ is writeble (surprisingly works thru FString), and for the first time japanese section from “suggested questions” in my inbox become useful: Japanese symbols also writable.
Oh, come on! I just saved text from this page: I don’t even know how it sounds
Another question: Is there any restrictions on FString?