It’s important to be able to quickly update your game when you need it - it can be a hotfix or a new content/levels that you want to release at a specific date. While this is not a problem on PC with Steam and other platforms, it is problematic with mobile games because of the review process that Apple or Google performs before you can publish your next update. To alleviate this, most of the top long-living mobile games today provide “self-update” functionality, where they download new content on the game loading screen, and only then proceed further. They also tend to follow data-oriented design as much as possible, so that game updates would only rarely cause the need to update game code - only content and configurations are added or updated. This is because Apple doesn’t allow apps to download code in any form.
Looking at UE4 in this context, it seems hard to be able to follow such design. Its actor and widget templates always contain Blueprint part, along with the configuration and layout. You cannot separate one from another. This means you cannot update a widget or an actor template in a mobile game (because Blueprint is code). Unity allows you to create prefabs that are pure data not containing .NET or other bytecode. Is there a way to achieve something similar with UE4? This issue seems like a showstopper for creating long-living mobile games. By “long-living” I mean ones that constantly update, usually with multiplayer elements, rather than those that just ship once and only apply bugfixes in the future. Is there a plan to improve in this regard? I guess the simplest would be to not include bytecode portion to Actors and Widgets that don’t have any Blueprint code. Is it possible (or already happening today)? Are there examples of existing self-updating mobile games on UE4?