Immediate Mode GUI
Oh no, not again! (Just kidding :) )<p>Immediate mode UIs come up every now and then, especially in games, and for relatively simple things they&#x27;re a neat idea (imagine not retaining any extra view state!) But - and there&#x27;s a big <i>&quot;but&quot;</i> coming up - it does not scale to complex and stateful UIs.<p>The problem is that, for games that have complex needs - think simulation and strategy games, not racing or arcade - complex UIs are needed to express complex relationships between underlying data and the relevant UX flows. But how do you do that in IMGUI? This information about UI state, layout, etc. is not in the UI anymore, but it has to live <i>somewhere</i> - so you end up having to build <i>your own</i> layout and UI management stuff, and basically duplicate what a RMGUI library would offer, but now with less generality and potentially more bugs.<p>For the probably best known example, Unity used to have an IMGUI [1] but they&#x27;ve actively moved away from it. It&#x27;s still there in vestigial form, the API is not removed, but game developers don&#x27;t really use it.<p>[1] <a href="https:&#x2F;&#x2F;docs.unity3d.com&#x2F;Manual&#x2F;GUIScriptingGuide.html" rel="nofollow">https:&#x2F;&#x2F;docs.unity3d.com&#x2F;Manual&#x2F;GUIScriptingGuide.html</a><p>PS. And there&#x27;s also the lack of visual layout tools, which is directly related to IMGUI&#x27;s reliance on code to produce layout.