In development builds of our game on iOS, when a Unity assertion fails, the exception is thrown and the engine backs out of the current function. However, the developer console does not appear and no error message is displayed, so it’s not obvious that an assertion error has occurred.
Are Unity assertion errors supposed to appear in the developer console in development builds?
If not, is there a way to disable assertion checks in development builds?
Does the console appear when a “normal” exception is raised? I’m not sure this ingame console exists on mobile devices due to the illegibility of the text and the tiny buttons for a touch device. I can’t recall whether I’ve seen it on mobile before.
These errors should still be logged in the player log. And you can use the debugger to catch these assertions.
Assertions should not simply be disabled, since whatever they assert may or may not represent an actual issue that can lead to subsequent failures that would then be even harder to track down. The manual mentions the scripting symbol but whether you can actively disable this in debug builds I don’t know.
Hmm, you’re right that the console doesn’t work at all on iOS. I could have sworn that it used to work on mobile; maybe that was on Android. Regardless, the Unity documentation doesn’t say that this is a platform-specific feature, so I guess I’ll file a bug report.