Cross-platform languages (and by extension -- engines and frameworks) rarely work exactly as advertised. The "just check a box" rarely holds true except for the simplest of programs.
In the old days, Java would advertise itself as being cross-platform (Write once, run anywhere!), but in practice, rarely worked that way.