cesium-unreal
cesium-unreal copied to clipboard
Define policy for supporting old versions of Unreal Engine
With UE5 now in preview, we're supporting 3 versions of Unreal Engine, times however many platforms. Which makes for a pretty crazy CI pipeline, nevermind a burden on core developers and contributors to write code and assets that work across three versions. So we should think about how to handle this.
People have good reasons to stay on older versions of Unreal Engine, of course. Usually because a project is already in progress and has committed to a particular version. So in that context, it's important that existing versions of Cesium for Unreal continue to work on older versions of Unreal Engine, and even pick up some important bug fixes. But it's less critical that new versions of Cesium for Unreal, with major new features, support old Engine versions.
With that in mind, here's an admittedly aggressive proposal, submitted for feedback from the community: New versions of Cesium for Unreal will continue to be released for an old Unreal Engine version for 6 months after the next Unreal Engine version hits its final release, or Cesium for Unreal supports that next version, whichever comes later.
For example, Unreal Engine 4.27 was released August 19, 2021. We added support for that version in Cesium for Unreal v1.5.2, released August 30, 2021. Therefore, under this proposal, we will stop releasing new versions of Cesium for Unreal (other than critical bug fixes) for Unreal Engine 4.26 at the end of this month. Previously released versions of Cesium for Unreal can still be used with Unreal Engine 4.26, of course. But if you want significant new features you'll have to migrate to UE 4.27+.
Thoughts?
Here are some early thoughts, including ones I discussed with @kring on a call:
- We would like to be aggressive with deprecating older versions, but given that current development still includes a lot of core technology - 3D Tiles Next, performance and quality improvements, etc, I am hesistant to deprecate 4.26 as soon as suggested.
- One of the main concerns from maintainer's perspective is that all the base examples (cesium-unreal-samples), tutorials etc have to be for the minimum supported version. Which means that we're working with and testing on probably the version that most user may not be using. (Ps for the community - We do test samples with newer versions, but the point is that we have to do everything for the oldest supported version instead of taking advantage of new features)
- Unreal Engine seems to be averaging 2 minor releases every year. Given the long tail, I'm afraid that a 6-month period may not be sufficient enough tail.
- We can look at Cesium ion usage logs to make an informed decision about deprecation.
Would be great to hear the community's thoughts on this - What version of Unreal Engine are you working with and what is the main driver for you to upgrade / not upgrade?
@kring Can I ask you to post this on the community forum as well as an open ended question? I'll pin this to the top.
Poll created here. It's pinned to the top of the category but not currently pinned as a banner - feel free to change that if you like.
Current status of this poll:

- 4.26: 4
- 4.27: 9
- 5 EA: 8