Releases: CesiumGS/cesium-unreal
Cesium for Unreal v2.10.0
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.10.0.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.10.0.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.10.0.zip
Additions 🎉
- Added
CircumscribedGroundHeight
property toCesiumSunSky
. It defaults to 0, which is consistent with the previous behavior. It can be set to a larger value (like 40) to avoid dark splotchy artifacts when zoomed out far from the globe in certain tilesets where geometry extends very far beyond the ellipsoid in the low-detail representation, such as Google Photorealistic 3D Tiles. - Added a shared assets system that ensures external images referenced by different glTFs will only be loaded once per image. Previously, these images would be loaded again for each glTF that referenced them. This significantly reduces memory usage for tilesets that reuse the same textures.
Fixes 🔧
- Fixed a bug that caused incorrect lighting for tilesets using
KHR_materials_unlit
. - Reduced the memory used by tiles with
KHR_materials_unlit
. CesiumGlobeAnchor
properties are no longer shown on the mainCesiumSunSky
Details panel, because it is almost never necessary to set these. They can still be set on the component's own Details panel if needed.- Fixed error messages in the Unreal log about uninitialized fields in
FCesiumSampleHeightResult
.
In addition to the above, this release updates cesium-native from v0.40.1 to v0.41.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.9.0
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.9.0.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.9.0.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.9.0.zip
Additions 🎉
- Added
SampleHeightMostDetailed
function toCesium3DTileset
, which asynchronously queries the height of a tileset at a list of positions. It is callable from both C++ and Blueprints.
Fixes 🔧
- Drastically reduced tile mesh memory usage in UE 5.3 and 5.4 by working around a bug that causes those engine versions to add more texture coordinate sets than necessary.
- Fixed a bug where the
scale
,noData
, anddefault
values of a property inEXT_structural_metadata
were not correctly passed to the tileset's material.
This release updates cesium-native from v0.39.0 to v0.40.1. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.8.0
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.8.0.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.8.0.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.8.0.zip
Additions 🎉
- Added universal (Intel and Apple Silicon) binaries for Unreal Engine 5.2. Unreal Engine 5.3 and 5.4 already had universal binaries.
- Raster overlays now have
bAllowAnyoneToDestroyMe
set to true by default. This allows them to be dynamically removed and destroyed at runtime via the BlueprintDestroy Component
function called from anywhere, including Level Blueprints. Previously, attempting to delete a raster overlay from outside the Actor would result in an error.
Fixes 🔧
- Fixed a bug introduced in the previous release that caused instanced tilesets to render incorrectly.
- Debug sections are no longer compressed on Linux and Android, improving compatibility.
- Fixed a bug where calling
Refresh
on aCesiumRasterOverlay
would cause the overlay to appear on the Cesium3DTileset, even if inactive.
This release updates cesium-native from v0.38.0 to v0.39.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.7.1
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.7.1.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.7.1.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.7.1.zip
Fixes 🔧
- Improved collision and line tracing against tilesets by working around an overly-aggressive degenerate triangle check in the Chaos physics engine.
- Fixed a bug that could cause a
bad_any_cast
exception when trying to access glTF extensions on non-Windows platforms. This commonly popped up when loading tilesets with metadata. - Fixed a bug that caused the
GetInteger64
functions onCesiumMetadataValue
,CesiumPropertyArray
, andCesiumPropertyTableProperty
to always return the default value on non-Windows platforms. - Fixed issue with
UCesiumGlobeAnchorComponent::GetEllipsoid
that caused compilation errors on some machines.
In addition to the above, this release updates cesium-native from v0.37.0 to v0.38.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.7.0
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.7.0.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.7.0.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.7.0.zip
Additions 🎉
- Cesium for Unreal now supports using non-WGS84 ellipsoids.
- An
CesiumEllipsoid
asset may be specified in theEllipsoid
field of aCesiumGeoreference
. - To create a
CesiumEllipsoid
asset, right-click in the Content Drawer and select "Data Asset" under "Miscellaneous." Choose "Cesium Ellipsoid" from the menu that appears.
- An
Fixes 🔧
- Fixed two problems with
CesiumCartographicRasterOverlay
:- Small tiles would never be excluded, even with "Exclude Selected Tiles" enabled.
- Pieces of tiles would sometimes not have the raster overlay correctly applied to them. When using with clipping, this would cause bits of tiles to randomly appear inside the clipping polygon.
- Removed an unnecessary alpha check when selecting translucent base materials.
- Fixed a crash caused by
CesiumSunSky
when no viewport is activated in the Editor. - Fixed build issues in Unreal 5.4.2 relating to
UStaticMesh
andglm::toMat4
.
In addition to the above, this release updates cesium-native from v0.36.0 to v0.37.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.6.0
This release includes support for Unreal Engine v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
- Unreal Engine 5.2: CesiumForUnreal-52-v2.6.0.zip
- Unreal Engine 5.3: CesiumForUnreal-53-v2.6.0.zip
- Unreal Engine 5.4: CesiumForUnreal-54-v2.6.0.zip
Breaking Changes 📣
- Renamed the following properties on
CesiumWebMapTileServiceRasterOverlay
:Url
->BaseUrl
West
->RectangleWest
South
->RectangleSouth
East
->RectangleEast
North
->RectangleNorth
UseWebMercatorProjection
has been deprecated onCesiumWebMapTileServiceRasterOverlay
. Instead, use theProjection
enum property to specify betweenGeographic
orWebMercator
projection.
Additions 🎉
- Added support for Instanced 3D Meshes (I3DM) and the glTF
EXT_mesh_gpu_instancing
extension. - Improved DynamicPawn movement by interpolating to its intended speed. This provides smoother movement over areas with large height variation, e.g., when flying over buildings in a city.
- Added
TileWidth
andTileHeight
properties toCesiumWebMapTileServiceRasterOverlay
.
Fixes 🔧
- Fixed an issue with pixel dithering artifacts that could appear on tilesets.
- Fixed an issue where DynamicPawn could get stuck after interrupting a flight from
UCesiumFlyToComponent
. - Fixed a bug where
CesiumTileMapServiceRasterOverlay
,CesiumWebMapServiceRasterOverlay
, andCesiumWebMapTileServiceRasterOverlay
would attempt to load empty URLs. - Fixed a bug that caused some textures shared between multiple glTF primitives to be missing entirely.
- Fixed a bug that caused tilesets to fail to load with the "Experimental Occlusion Culling Feature" enabled.
- Fixed a problem that could cause linker errors when packaging a game using both Cesium for Unreal and the Pixel Streaming plugin in Unreal Engine 5.4.
In addition to the above, this release updates cesium-native from v0.35.0 to v0.36.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.5.0
This release includes support for Unreal Engine v5.1, v5.2, v5.3, and v5.4 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
NOTE: This is the last release of Cesium for Unreal that will support Unreal Engine v5.1. Future versions will require Unreal Engine v5.2+.
Additions 🎉
- Added support for Unreal Engine 5.4.
- Added support for Cesium ion servers in single user mode. Tokens are not required to stream assets from such servers.
Fixes 🔧
- Fixed an issue where tilesets would render completely black on Quest headsets and some iOS devices.
- Fixed a crash on Unreal Editor shutdown that would occasionally happen due to attempts to access garbage-collected static classes.
In addition to the above, this release updates cesium-native from v0.34.0 to v0.35.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.4.1
This release includes support for Unreal Engine v5.1, v5.2, and v5.3 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
This release updates cesium-native from v0.33.0 to v0.34.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.4.0
This release includes support for Unreal Engine v5.1, v5.2, and v5.3 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
Additions 🎉
- Significantly reduced CPU memory used by glTF and raster overlay textures.
- Improved texture creation performance on non-D3D platforms.
- Added support for the
KHR_texture_transform
glTF extension - including rotation - forCesiumFeatureIdTexture
andCesiumPropertyTextureProperty
. CesiumFeaturesMetadataComponent
now generates nodes forKHR_texture_transform
if the extension is present in a feature ID texture or property texture property.
Fixes 🔧
- Metadata-related textures are now created in
TEXTUREGROUP_8BitData
instead ofTEXTUREGROUP_World
. - Added some defensive nullptr checks to
CesiumSunSky
.
In addition to the above, this release updates cesium-native from v0.32.0 to v0.33.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unreal v2.3.0
This release includes support for Unreal Engine v5.1, v5.2, and v5.3 for Windows, Linux, macOS, Android, and iOS. Please select the appropriate ZIP for your version.
Additions 🎉
- Added support for Web Map Tile Service (WMTS) with
CesiumWebMapTileServiceRasterOverlay
. - Significantly reduced CPU memory usage by textures on non-Windows systems.
- Added support for the
KHR_texture_transform
glTF extension - including rotation - inbaseColorTexture
,metallicRoughnessTexture
,emissiveTexture
,normalTexture
, andocclusionTexture
. The transformation is now applied on the GPU via nodes in the Material, rather than on the CPU by directly modifying texture coordinates.
Fixes 🔧
- Fixed a bug in
MLB_DitherFade
that made glTF materials with analphaMode
ofMASK
incorrectly appear as fully opaque. - Fixed a bug in
CesiumFlyToComponent
that could cause the position of the object to shift suddenly at the very end of the flight. - Fixed a bug that caused textures created by Cesium for Unreal on D3D11 and D3D12 (only) to not be counted in the "Texture Memory Used" stat in the "Memory" stat group or in any counter in the "TextureGroup" stat group.
- Fixed a bug in
CesiumGltfComponent
that would cause a crash if theIgnore KHR_materials_unlit
setting was enabled on a point cloud. - Fixed a bug in
CesiumActors
that would cause the editor to crash when running in Standalone mode. - Fixed several build warnings when packing in Unreal Engine 5.3.
- Readded backwards compatibility for feature textures from
EXT_feature_metadata
, which was mistakenly removed. - Fixed a bug that caused nav mesh creation to be slow due to creating duplicate physics meshes.
In addition to the above, this release updates cesium-native from v0.31.0 to v0.32.0. See the changelog for a complete list of changes in cesium-native.