Releases: CesiumGS/cesium-unreal
Cesium for Unreal v1.12.1 (Unreal Engine 5)
v1.12.1 - 2022-04-06
This release includes support for Unreal Engine v5.0 (the official, non-preview version) on Windows, Linux, and Android. For Unreal Engine 4, please see Cesium for Unreal v1.12.0 (Unreal Engine 4).
Other than the expanded platform and Unreal Engine version support, this release has no changes relative to v1.12.0.
Cesium for Unreal v1.12.0 (Unreal Engine 5)
v1.12.0 - 2022-04-01
This release includes support for Unreal Engine v5.0 Preview 2 on Windows only. For Unreal Engine 4, please see Cesium for Unreal v1.12.0 (Unreal Engine 4).
Breaking Changes 📣
- Removed the
KeepWorldOriginNearCamera
,OriginRebaseInsideSublevels
, andMaximumWorldOriginDistanceFromCamera
options fromCesiumGeoreference
. These options are not usually necessary with Unreal Engine 5's double-precision coordinates. - Renamed the
WorldOriginCamera
property onCesiumGeoreference
toSubLevelCamera
, as this property is now only used for switching sub-levels. Core Redirects should automatically make this change in Blueprints. - Removed
Inaccurate
from the name of a large number of Blueprint functions, now that Unreal Engine 5 supports double-precision in Blueprints. Core Redirects should automatically make this change in Blueprints.
Additions 🎉
- Cesium for Unreal automatically enables Unreal Engine 5's "Enable Large Worlds" setting, which is required for correct culling of Cesium tilesets.
- Raster overlays are now, by default, rendered using the default settings for the
World
texture group, which yields much higher quality on many platforms by enabling anisotrpic texture filtering. Shimmering of overlay textures in the distance should be drastically reduced. - New options on
RasterOverlay
give the user control over the texture group, texture filtering, and mipmapping used for overlay textures. - Improved the mapping between glTF textures and Unreal Engine texture options, which should improve texture quality in tilesets.
- Added
CesiumWebMapServiceRasterOverlay
to pull raster overlays from a WMS server. - Added option to show
Cesium3DTileset
andCesiumRasterOverlay
credits on screen, rather than in a separate popup.
Fixes 🔧
- Fixed a leak of some of the memory used by tiles that were loaded but then ended up not being used because the camera had moved.
- Fixed a leak of glTF emissive textures.
- Fixed a bug introduced in v1.11.0 that used the Y-size of the right eye viewport for the left eye in tile selection for stereographic rendering.
- Fixed a bug where glTF primitives with no render data are added to the glTF render result.
In addition to the above, this release updates cesium-native from v0.13.0 to v0.14.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.12.0 (Unreal Engine 4)
v1.12.0 - 2022-04-01
This release includes support for Unreal Engine v4.26 and v4.27 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version. For Unreal Engine 5, please see Cesium for Unreal v1.12.0 (Unreal Engine 5)
Additions 🎉
- Raster overlays are now, by default, rendered using the default settings for the
World
texture group, which yields much higher quality on many platforms by enabling anisotrpic texture filtering. Shimmering of overlay textures in the distance should be drastically reduced. - New options on
RasterOverlay
give the user control over the texture group, texture filtering, and mipmapping used for overlay textures. - Improved the mapping between glTF textures and Unreal Engine texture options, which should improve texture quality in tilesets.
- Added
CesiumWebMapServiceRasterOverlay
to pull raster overlays from a WMS server. - Added option to show
Cesium3DTileset
andCesiumRasterOverlay
credits on screen, rather than in a separate popup.
Fixes 🔧
- Fixed a leak of some of the memory used by tiles that were loaded but then ended up not being used because the camera had moved.
- Fixed a leak of glTF emissive textures.
- Fixed a bug introduced in v1.11.0 that used the Y-size of the right eye viewport for the left eye in tile selection for stereographic rendering.
- Fixed a bug where glTF primitives with no render data are added to the glTF render result.
In addition to the above, this release updates cesium-native from v0.13.0 to v0.14.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.11.0
v1.11.0 - 2022-03-01
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
There is also an experimental release for Unreal Engine 5 (preview 1) on Windows. Expect bugs!
Breaking Changes 📣
- Exclusion Zones have been deprecated and will be removed in a future release. Please use the Cartographic Polygon Actor instead.
Additions 🎉
- Added experimental support for Unreal Engine 5 (preview 1).
- Added collision meshes for tilesets when using the Chaos physics engine.
- Integrated GPU pixel compression formats received from Cesium Native into Unreal's texture system.
- Added support for the
CESIUM_RTC
glTF extension. - Added the ability to set tne Georeference origin from ECEF coordinates in Blueprints and C++.
- Exposed the Cesium ion endpoint URL as a property on tilesets and raster overlays.
Fixes 🔧
- Fixed bug where certain pitch values in "Innaccurate Fly to Location Longitude Latitude Height" cause gimbal lock.
- Fixed a bug that caused a graphical glitch by using 16-bit indices when 32-bit indices are needed.
- Fixed a bug where tileset metadata from a feature table was not decoded correctly from UTF-8.
- Improved the shadows, making shadows fade in and out less noticable.
- The Cesium ion Token Troubleshooting panel will no longer appear in game worlds, including Play-In-Editor.
In addition to the above, this release updates cesium-native from v0.12.0 to v0.13.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.10.1
v1.10.1 - 2022-02-01
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
Fixes 🔧
- Fixed a crash at startup on Android devices introduced in v1.10.0.
Cesium for Unreal v1.10.0
v1.10.0 - 2022-02-01
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
Breaking Changes 📣
- The following Blueprints and C++ functions on
CesiumSunSky
have been renamed. CoreRedirects have been provided to handle the renames automatically for Blueprints.EnableMobileRendering
toUseMobileRendering
AdjustAtmosphereRadius
toUpdateAtmosphereRadius
Additions 🎉
- Added Cesium Cartographic Polygon to the Cesium Quick Add panel.
- Improved the Cesium ion token management. Instead of automatically creating a Cesium ion token for each project, Cesium for Unreal now prompts you to select or create a token the first time one is needed.
- Added a Cesium ion Token Troubleshooting panel that appears when there is a problem connecting to Cesium ion tilesets and raster overlays.
- The new
FCesiumCamera
andACesiumCameraManager
can be used to register and update custom camera views into Cesium tilesets.
Fixes 🔧
- Fixed a crash when editing the georeference detail panel while a sublevel is active.
- Improved the organization of
CesiumSunSky
parameters in the Details Panel. - Improved the organization of
CesiumGlobeAnchorComponent
parameters in the Details Panel.
In addition to the above, this release updates cesium-native from v0.11.0 to v0.12.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.9.0
v1.9.0 - 2022-01-03
Fixes 🔧
- Fixed a bug that could cause incorrect LOD and culling when viewing a camera in-editor and the camera's aspect ratio does not match the viewport window's aspect ratio.
In addition to the above, this release updates cesium-native from v0.10.0 to v0.11.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.8.1
v1.8.1 - 2021-12-02
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
In this release, the cesium-native binaries are built using Xcode 11.3 on macOS instead of Xcode 12. Other platforms are unchanged from v1.8.0.
Cesium for Unreal v1.8.0
v1.8.0 - 2021-12-01
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
Additions 🎉
Cesium3DTileset
now has options for enabling custom depth and stencil buffer.- Added
CesiumDebugColorizeTilesRasterOverlay
to visualize how a tileset is divided into tiles. - Added
Log Selection Stats
debug option to theCesium3DTileset
Actor. - Exposed raster overlay properties to Blueprints, so that overlays can be created and manipulated with Blueprints.
Fixes 🔧
- Cesium for Unreal now does a much better job of releasing memory when the Unreal Engine garbage collector is not active, such as in the Editor.
- Fixed a bug that could cause an incorrect field-of-view angle to be used for tile selection in the Editor.
- Fixed a bug that caused
GlobeAwareDefaultPawn
(and its derived classes, notablyDynamicPawn
) to completely ignore short flights.
In addition to the above, this release updates cesium-native from v0.9.0 to v0.10.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v1.7.0
v1.7.0 - 2021-11-01
This release includes support for Unreal Engine v4.26 and v4.27. Please select the appropriate ZIP for your version.
Breaking Changes 📣
- Removed
CesiumGlobeAnchorParent
, which was deprecated in v1.3.0. TheCesiumGlobeAnchorParent
functionality can be recreated using an empty actor with aCesiumGlobeAnchorComponent
. - Removed the
FixTransformOnOriginRebase
property fromCesiumGeoreferenceComponent
, and the component now always acts as if it is enabled. This should now work correctly even for objects that are moved by physics or other Unreal Engine mechanisms. - The
SnapToEastSouthUp
function onCesiumGeoreference
no longer resets the Scale back to 1.0. It only modifies the rotation. - The following
CesiumGeoreferenceComponent
Blueprints and C++ functions no longer take aMaintainRelativeOrientation
parameter. Instead, this behavior is controlled by theAdjustOrientationForGlobeWhenMoving
property.MoveToLongitudeLatitudeHeight
InaccurateMoveToLongitudeLatitudeHeight
MoveToECEF
InaccurateMoveToECEF
- Renamed
CesiumGeoreferenceComponent
toCesiumGlobeAnchorComponent
. CesiumSunSky
has been converted from Blueprints to C++. Backward compatibility should be preserved in most cases, but some less common scenarios may break.GlobeAwareDefaultPawn
,DynamicPawn
, andCesiumSunSky
no longer have aGeoreference
property. Instead, they have aCesiumGlobeAnchor
component that has aGeoreference
property.- The
Georeference
property on most Cesium types can now be null if it has not been set explicitly in the Editor. To get the effective Georeference, including one that has been discovered in the level, use theResolvedGeoreference
property or call theResolveGeoreference
function. - Removed the option to locate the Georeference at the "Bounding Volume Origin". It was confusing and almost never useful.
- The
CheckForNewSubLevels
andJumpToCurrentLevel
functions inCesiumGeoreference
have been removed. New sub-levels now automatically appear without an explicit check, and the current sub-level can be changed using the standard Unreal Engine Levels panel. - Removed the
CurrentLevelIndex
property fromCesiumGeoreference
. The sub-level that is currently active in the Editor can be queried with theGetCurrentLevel
function of theWorld
. - Removed the
SunSky
property fromCesiumGeoreference
. TheCesiumSunSky
now holds a reference to theCesiumGeoreference
, rather than the other way around. - The following Blueprints and C++ functions on
CesiumGeoreference
have been renamed. CoreRedirects have been provided to handle the renames automatically for Blueprints.TransformLongitudeLatitudeHeightToUe
toTransformLongitudeLatitudeHeightToUnreal
InaccurateTransformLongitudeLatitudeHeightToUe
toInaccurateTransformLongitudeLatitudeHeightToUnreal
TransformUeToLongitudeLatitudeHeight
toTransformLongitudeLatitudeHeightToUnreal
InaccurateTransformUeToLongitudeLatitudeHeight
toInaccurateTransformUnrealToLongitudeLatitudeHeight
TransformEcefToUe
toTransformEcefToUnreal
InaccurateTransformEcefToUe
toInaccurateTransformEcefToUnreal
TransformUeToEcef
toTransformUnrealToEcef
InaccurateTransformUeToEcef
toInaccurateTransformUnrealToEcef
TransformRotatorUeToEnu
toTransformRotatorUnrealToEastNorthUp
InaccurateTransformRotatorUeToEnu
toInaccurateTransformRotatorUnrealToEastNorthUp
TransformRotatorEnuToUe
toTransformRotatorEastNorthUpToUnreal
InaccurateTransformRotatorEnuToUe
toInaccurateTransformRotatorEastNorthUpToUnreal
- The following C++ functions on
CesiumGeoreference
have been removed:GetGeoreferencedToEllipsoidCenteredTransform
andGetEllipsoidCenteredToGeoreferencedTransform
moved toGeoTransforms
, which is accessible via thegetGeoTransforms
function onCesiumGeoreference
.GetUnrealWorldToEllipsoidCenteredTransform
has been replaced withTransformUnrealToEcef
except that the latter takes standard Unreal world coordinates rather than absolute world coordinates. If you have absolute world coordinates, subtract the World'sOriginLocation
before calling the new function.GetEllipsoidCenteredToUnrealWorldTransform
has been replaced withTransformEcefToUnreal
except that the latter returns standard Unreal world coordinates rather than absolute world coordinates. If you want absolute world coordinates, add the World'sOriginLocation
to the return value.AddGeoreferencedObject
should be replaced with a subscription to the newOnGeoreferenceUpdated
event.
Additions 🎉
- Improved the workflow for managing georeferenced sub-levels.
CesiumSunSky
now automatically adjusts the atmosphere size based on the player Pawn's position to avoid tiled artifacts in the atmosphere when viewing the globe from far away.GlobeAwareDefaultPawn
and derived classes likeDynamicPawn
now have aCesiumGlobeAnchorComponent
attached to them. This allows more consistent movement on the globe, and allows the pawn's Longitude/Latitude/Height or ECEF coordinates to be specified directly in the Editor.CesiumSunSky
now has anEnableMobileRendering
flag that, when enabled, switches to a mobile-compatible atmosphere rendering technique.CesiumCartographicPolygon
'sGlobeAnchor
andPolygon
are now exposed in the Editor and to Blueprints.- Added
InaccurateGetLongitudeLatitudeHeight
andInaccurateGetECEF
functions toCesiumGlobeAnchorComponent
, allowing access to the current position of a globe-anchored Actor from Blueprints. - Added support for collision object types on 'ACesium3DTileset' actors.
Fixes 🔧
- Cesium objects in a sub-level will now successfully find and use the
CesiumGeoreference
andCesiumCreditSystem
object in the Persistent Level when these properties are left unset. For best results, we suggest removing all instances of these objects from sub-levels. - Fixed a bug that made the Time-of-Day widget forget the time when it was closed and re-opened.
- Undo/Redo now work more reliably for
CesiumGlobeAnchor
properties. - We now explicitly free the
PlatformData
and renderer resources associated withUTexture2D
instances created for raster overlays when the textures are no longer needed. By relying less on the Unreal Engine garbage collector, this helps keep memory usage lower. It also keeps memory from going up so quickly in the Editor, which by default does not run the garbage collector at all.
In addition to the above, this release updates cesium-native from v0.8.0 to v0.9.0. See the changelog for a complete list of changes in cesium-native.