You can build for all the popular platforms, isn’t that just AMAZING?
That same technology that enables you to reach all your target platforms will be the same ones that will come back and bite you. The truth is that it’s all hacky, magic, black boxes. I am pretty sure no single person knows how they work entirely. If you try to put two things together that are supposedly multi-platform you’ll get an explosion of convoluted problems. Isn’t that exciting? And if you’re integrating like five more of those things into it, then good luck.
The main problem is that the language you’re mainly using for the logic of your program will no longer be visible in the native platform. It’s all automatically machine-translated, obfuscated even. All those ‘optimizations’ will strip off human readability. That means not a lot options for debugging like breakpoints, logs, and variable watching. In the case of Unity, it takes a while to export into the native language. Coupled with the way it even packages the assets then that is a lot of time. Time not spent being productive by just staring at your machine hoping for no errors. It’s iteration hell if you’re just looking into one specific issue with little to know leads.
Now if anyone tells you they have an ‘easy’ ‘hassle-free’ ‘all-in-one’ ‘cross-platform’ solution… Don’t.