Skip to content

Cesium for Unity v1.8.0

Compare
Choose a tag to compare
@kring kring released this 01 Mar 05:18
· 298 commits to main since this release

Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), iOS, and Universal Windows Platform (ARM64 and x86-64).

πŸš€ Get Started

  1. Download Cesium for Unity Samples.
  2. Extract the .zip file into a suitable location on your computer.
  3. If you have Unity Hub installed, click the "Open" button under the "Projects" tab. Otherwise, open the Unity Editor directly and select "Open Project". Then, point it to the extracted directory. Unity will load the project and also download Cesium for Unity using the Package Manager.
  4. In the Asset Browser, select and load Assets -> Scenes -> 01_CesiumWorld. You can also select other scenes as you browse and explore the samples.

Or, to learn how to add it to your own project, see the Cesium for Unity Quickstart.

Have questions? Ask them on the community forum.

πŸ•™ Change Log

Breaking Changes πŸ“£
  • Feature IDs and metadata are now parsed through the EXT_mesh_features and EXT_structural_metadata extensions respectively. Models with EXT_feature_metadata will still be parsed, but their metadata will no longer be accessible.
  • CesiumDefaultTilesetMaterial and CesiumUnlitTilesetMaterial have had their overlay-related parameters renamed. For instance, _overlay0TextureCoordinateIndex has now become _overlayTextureCoordinateIndex_0. Custom materials that relied on the previous naming scheme may break.
Additions πŸŽ‰
  • Added CesiumCartographicPolygon and CesiumPolygonRasterOverlay, which together can be used to clip out polygonal areas of a Cesium3DTileset. These new classes are only available in Unity 2022.2+ because they require Unity's Splines package.
  • Added CesiumFeatureIdSet, which represents a feature ID set in EXT_mesh_features.
  • Added CesiumFeatureIdAttribute and CesiumFeatureIdTexture, which derive from CesiumFeatureIdSet and respectively represent a feature ID attribute and feature ID texture in EXT_mesh_features.
  • Added CesiumPrimitiveFeatures, a component that provides access to the EXT_mesh_features on a glTF primitive when it is loaded by Cesium3DTileset.
  • Added CesiumPropertyTableProperty, which represents a property table property in EXT_structural_metadata and can be used to retrieve metadata.
  • Added CesiumPropertyTable, which represents a property table in EXT_structural_metadata.
  • Added CesiumModelMetadata, a component that provides access to the EXT_structural_metadata on a glTF model when it is loaded by Cesium3DTileset.
  • Added CesiumMetadataValue, which can hold a metadata value from EXT_structural_metadata while abstracting away its type.
  • Added a distance property to CesiumOriginShift, which specifies the maximum allowed distance from the current origin before it is shifted.
  • Added support for the KHR_texture_transform glTF extension - including rotation - in baseColorTexture, metallicRoughnessTexture, emissiveTexture, normalTexture, and occlusionTexture. The transformation is now applied on the GPU via nodes in the Material, rather than on the CPU by directly modifying texture coordinates.
  • Added materialKey to CesiumRasterOverlay, which matches the overlay to its corresponding parameters in the tileset's material. This allows for explicit ordering of raster overlays and overlay-specific effects.
  • CesiumCameraController can now accept custom input actions that override the default inputs.
Fixes πŸ”§
  • Removed the "Universal Additional Camera Data" script from DynamicCamera, as it shows up as a missing script in other render pipelines.
  • Fixed a bug where adding a CesiumSubScene as the child of an existing CesiumGeoreference in editor would cause the parent CesiumGeoreference to have its coordinates reset to the default.
  • Fixed the "DynamicCamera is not nested inside a game object with a CesiumGeoreference" warning when adding a new DynamicCamera in the editor.
  • Fixed support for loading textures with less than four channels.
  • Fixed "Destroying assets is not permitted to avoid data loss" error when using a custom opaque material with texture assets on a Cesium3DTileset.
  • Fixed jump at the end of the flight path in CesiumFlyToController.
Deprecated ⏳
  • CesiumMetadata has been deprecated. Instead, retrieve the CesiumModelMetadata component attached to a tile game object in order to access its glTF metadata.
  • CesiumFeature has been deprecated. Instead, retrieve feature IDs from the CesiumPrimitiveFeatures component attached to a primitive game object in order to access its glTF features. Feature IDs can be used to retrieve metadata from the CesiumModelMetadata attached to its parent.
  • flyToGranularityDegrees in CesiumFlyToController has been deprecated. CesiumFlyToController no longer works using keypoints, so this value is unnecessary.

In addition to the above, this release updates cesium-native from v0.27.4 to v0.33.0. See the changelog for a complete list of changes in cesium-native.