Upgrading Engine Experience Needs A LOT of Work!

Even just changing engine versions without the process of upgrading a project is bad.

[Launcher/Meta]

  1. Download speed isn’t able to be limited.
  2. Quite simply it’s imperative that each person working on the project is on the same Engine Version AND redistribution is both likely infringing due to a lack of agreements and limiting.
  3. Downloading updates is worse due to a lack of “Source Control”. This results in 2 things: 1. Bigger downloads. 2. No rollbacks. And bugs happen. I don’t even know if projects “back up” automatically before an update.

[Settings]

  1. I’m color blind. I’ve set up my graphs meticulously to be JUST the right colors. NOTHING carries over when it comes to Editor settings. Attempting to manually resolve this resulted in the Editor no longer opening, requiring a re-install of 4.12 afterward.
  2. All settings are dropped between versions. Quite simply this means setting the Quality, turning off Realtime,
  3. Why isn’t there an exposed “Max FPS” setting? There’s a console command but I do look forward to the day I don’t have to enter it every time the editor crashes.
  4. Layouts aren’t saved??
  5. Seriously nothing is saved or easily transferable as far as I can tell. Please. PLEASE. Fix this.

[Projects]

  1. Config settings not kept. This means that networking breaks in half.
  2. EVERYTHING BREAKS in so many ways it’s not even worth upgrading. 4.11 -> 4.12 (latest on both) at the moment results in Controller Joystick values to no longer be read, Assets corrupt, Assets don’t migrate, C++ Assets start complaining, ect.

Quite simply, as much as I’d like to upgrade to a new Engine Version it seems as though that’s the equivalent of rewriting your source code from scratch. As in, it’s a huge time sink and will be incredibly unlikely to have results worth upgrading for.

Caveat: I know that Epic upgrades their Learning/Examples projects with each version released. So there has to be a decent process for this. But ever since I started using UE4 in 4.7.2 upgrading projects has never worked for me and upgrading Engines between projects was only viable because I was a complete and utter noob for so long that I never really got too much into the settings, advanced features, ect.

Caveat 2: I know that I can manually compile the Engine and possibly even merge two versions together, effectively overwriting all “Updated” files. I don’t know if this would solve the problem but I do know that I don’t want to do it for what I feel are basic features.

Downloading a new version does not affect your projects, until you open them in that new version, your project files are independent of the engine install.
As far as updating goes, you should try to avoid upgrading to a new version unless there’s a feature you know of that you really want, there can be significant changes that break your project. When you want to update, make sure you have a backup of the project just in case. The hotfixes shouldn’t have that issue though

  1. I know that Project Files aren’t forcefully acted upon by the Engine.But that’s not the gist of it - Upgrading projects causes difficult to manage and hard to keep track of bugs, errors, ect.

  2. I use source control + manual backups c: It’s a life saver. And hotfixes don’t normally cause problems for me but I know that they do sometimes introduce bugs that do effect some people for a couple days before a hotfix is released for the bugs (typically just in-editor issues like the Blueprint Graph Editor crashing in some new way, Mouse Capture, ect. in recent memory).

  3. I definitely wouldn’t want to update without reason. When I do update I’m always 1 Engine Version behind in order to avoid as much of the undiscovered bugs as possible. Especially since each hotfix is usually 2.5GB and sometimes they happen frequently. No issues with that other than the internet speed o’ mine. Which won’t be a problem soon.

I want to update to 4.12 for the Planar Reflections, Spectator Mode Adjustments, Native BP -> C++ Updates, Bug Fixes, UNetConnection::RemoteSaturation for better player feedback, Was Recently Rendered Function, Significance for Particle Systems, Copy Node for better management (similar to using a private variable + “Set” function vs directly modifying the variable but more practical for some things).

Overall:
I want the UE4 Engine to migrate my Editor Settings between Engine Versions, perhaps even just storing them in the launcher, backing them up to my Unreal Dev Account, ect.

I want the only reason for my projects to be having problems due to an upgrade to be:

  1. A removed API call that’s been deprecated for at least a full Engine Version
  2. A hard drive / OS caused error. Something Epic simply shouldn’t be concerned about fixing. Upgrade -> Verify -> If things don’t match up mention it and try again. If they do match up (or after a retry) and it’s still corrupted due to non-UE stuff that’s a different problem altogether.
  3. A redefining of a Node, System, or Function. Preferably they’re handled like Matinee being replaced by Sequencer. Otherwise a flag or error message would be nice. IE “Timers are no longer callable by Particles, this node will silently fail for the rest of this play session”
  4. An Engine-Level bug which is not rooted in my project itself. Things like “Looks like we didn’t un-flip the switch on an in-progress rewrite of the Input System; due to this Non-Player 1 Controller Axis values are now replaced with strings and a hotfix will be out as soon as possible.” but you know. Something that would actually be overlooked but just as impactful for some games.

That might be an unreasonable expectation to have but when Open Office updates I don’t have to copy-paste my cells over to the “Open Office 4.12” Engine. So as a Consumer-Developer I might have developed (heh) some expectations without knowing exactly what changes do go on under the hood of the Engine. ***I REALLY DID APPRECIATE EPIC ADDING THE OPTIONS THEY DID WHEN IT COMES TO DOWNLOADING ENGINE VERSIONS FROM THE LAUNCHER! Things like not downloading the Starter Content, the A.R.T., ect. did come as a welcome change. I ONLY complain because I care. ***

While it would be nice for everything to work between versions, sometimes they have to make significant changes. Stuff like that happens in other software as well, take for instance 3ds Max which doesn’t have some features that are in old versions (like Reactor) or things like vertex numbering changing in a file

Totally get it. And again, maybe this is me “using it wrong” but I view the Engine as a Service + Framework for Content Creation. Because most games are long-term developments I imagine that most games, when ready for release, would be built on an Engine Version at least 5 versions behind. Being unable to take advantage of what’s likely a year’s (or more) worth of advancements is unfortunate. That scenario would likely involve about a month of QA testing for bugs after migrating the assets to a new Engine version, updating Source Control, reconfiguring Individual Engine configs, having EVERYONE download the new Engine Version, ect. And bugs will <Still> get through.

With that scenario keeping “up to date” post-release seems like an impossibility. And with so many Engine bugs being squashed, features being added / finished, ect. it’s a shame that there’s not a better way to keep up. It’s a rapidly improving Engine with many moving parts and that’s both dangerous and enticing when it comes to upgrades. REALLY wish my title wasn’t so aggressive, though. I want to be supportive/helpful but my title makes it sound like I don’t think that they care at all o-o