According to documentation it seems to me that ucharclasses work onlywith XeLaTeX.
But with babel and lualatex you can switch the font depending on the script, even with RTL ones, which, if things haven’t changed, isn’t possible with ucharclasses. See the examples in p. 44 of the babel manual. Javier