Releases: CesiumGS/cesium-unity
Cesium for Unity v1.5.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Fixes π§
- Fixed a bug that could lead to incorrect textures when a KTX2 image did not include a complete mip chain.
In addition to the above, this release updates cesium-native from v0.25.1 to v0.26.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v1.4.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Additions π
- Added
OnTileGameObjectCreatedevent toCesium3DTilesetclass, which allows customizing the Tile GameObjects as they are loaded. - KTX2 compressed textures now remain compressed all the way to the GPU, reducing GPU memory usage.
Fixes π§
- Fixed how the occlusion strength is used in the default tileset shader which was causing shadows to be too dark.
- Fixed a bug that caused a prefab with a
CesiumGlobeAnchorto lose its position after save/reload. - Fixed a
MissingReferenceExceptionwhen entering Play mode with "Domain Reload" disabled. This would also prevent tilesets with raster overlays from appearing at all in Play mode.
In addition to the above, this release updates cesium-native from v0.25.0 to v0.25.1. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v1.3.1
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Fixes π§
- Fixed a bug that prevented building on iOS.
Cesium for Unity v1.3.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Additions π
- Cesium components now appear under the "Cesium" category in the Component menu. Previously were under "Scripts > Cesium for Unity"
- Cesium components now display the Cesium logo as their icon, rather than the default Unity script icon.
Fixes π§
- Fixed a bug where
Cesium3DTilesetwould not reflect changes made to the properties of its opaque material in the Editor. - Fixed a bug that could cause missing textures when using two raster overlays with the same projection on a single tileset.
- Fixed a bug where changing the origin on a
CesiumGeoreferencewould not propogate these changes to the activeCesiumSubScene, if one exists. - Reduced the amount of extraneous camera rotation in the
CesiumCameraControllerafter a frame hitch by usingTime.smoothDeltaTime. - Fixed a bug that caused mipmaps to be generated for textures that shouldn't be mipmapped, sometimes leading to cracks between tiles and other problems.
In addition to the above, this release updates cesium-native from v0.24.0 to v0.25.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v1.2.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Additions π
- Added a
scaleproperty toCesiumGeoreference. This allows the entire globe to be scaled up or down with better precision than the scale property on the georeference'sTransform.
Fixes π§
- Fixed a bug that caused tiles to be displaced when changing the transform of a
CesiumGeoreferenceat runtime. - Fixed a bug that caused primitive numbers to be negative in the names of tile game objects when the tile mesh had multiple primitives.
Cesium for Unity v1.1.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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 π£
CesiumObjectPoolis no longer accessible from outside the CesiumRuntime assembly.
Additions π
- Added support for primitives with the
TRIANGLE_STRIPandTRIANGLE_FANtopology types. - Missing normals are now generated as "flat" normals by default, as required by the glTF specification. An option on
Cesium3DTilesetallows the user to request smooth normals instead, which will improve performance for most meshes by reducing geometry duplication. - Moved mipmap generation from the main thread to a worker thread.
Fixes π§
- Added dependencies on the ShaderGraph and InputSystem packages to resolve material / script compilation errors.
- Fixed another bug where
CesiumCameraControllertried to access a non-existent input in the legacy input system. - Removed an extra "delimiter" added to the end of on-screen credits in some cases.
- Fixed a memory leak of
Meshobjects when entering and exiting Play mode in the Unity Editor. - Fixed a crash that happened when attempting to create physics meshes for degenerate triangle meshes.
In addition to the above, this release updates cesium-native from v0.23.0 to v0.24.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v1.0.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Additions π
- Added support for Unity's built-in render pipeline.
- Added
CesiumPointCloudShading, which allows point cloud tilesets to be rendered with attenuation based on geometric error. Attenuation is currently only supported in the Universal Render Pipeline (URP). GameObjectinstances created for the tiles in aCesium3DTilesetnow inherit thelayerof the parent tileset.- Added the
CesiumTileExcluderabstract class. By creating a class derived fromCesiumTileExcluder, then adding it to aCesium3DTileset's game object, you can implement custom rules for excluding tiles in theCesium3DTilesetfrom loading and rendering. - Added setting in
CesiumRuntimeSettingsto configure the maximum number of responses to keep in the request cache. - Added setting in
CesiumRuntimeSettingsto configure the number of reads from the cache database before each prune.
Fixes π§
- Fixed a bug that prevented the use of pre-existing mipmaps, such as those loaded from KTX2.
- Fixed a bug where
CesiumCameraControllertried to access non-existent inputs in the legacy input system. - Fixed a bug that could cause a crash when using the search box with a dataset already selected in the Cesium ion Assets window.
- Fixed a bug that prevented sorting the contents of the Cesium ion Assets window in descending order.
In addition to the above, this release updates cesium-native from v0.22.1 to v0.23.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v0.3.1
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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
Fixes π§
- Fixed a bug introduced in v0.3.0 that caused an exception when attempting load Cesium3DTilesets from a local file.
In addition to the above, this release updates cesium-native from v0.22.0 to v0.22.1. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v0.3.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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 π£
- Removed the
positionAuthority,unityX,unityY, andunityZproperties fromCesiumGlobeAnchor. Also removed theSetPositionUnitymethod. - Removed the
CesiumGlobeAnchorPositionAuthorityenum. The authoritative position is now always found in thepositionGlobeFixedproperty. The object's Unity world position can be obtained from itsTransform. - Marked the
longitude,latitude, andheightproperties onCesiumGlobeAnchoras obsolete. Use thelongitudeLatitudeHeightproperty instead. - Marked the
ecefX,ecefY, andecefZproperties onCesiumGlobeAnchoras obsolete. Use thepositionGlobeFixedproperty instead. - Marked
SetPositionLongitudeLatitudeHeightandSetPositionEarthCenteredEarthFixedmethods onCesiumGlobeAnchoras obsolete. Set thelongitudeLatitudeHeightorpositionGlobeFixedproperty instead. - Replaced
MetadataPropertywithCesiumFeature. Metadata features are now separated based on feature tables where properties are accessed by name. - Replaced
CesiumMetadata.GetPropertieswithCesiumMetadata.GetFeatures, which returns an array ofCesiumFeatures.
Additions π
- Added support for rendering point clouds (
pnts). CesiumGlobeAnchornow stores a precise, globe-relative orientation and scale in addition to position.- Added
localToGlobeFixedMatrix,longitudeLatitudeHeight,positionGlobeFixed,rotationGlobeFixed,rotationEastUpNorth,scaleGlobeFixed, andscaleEastUpNorthproperties toCesiumGlobeAnchor. - Added the
Restartmethod toCesiumGlobeAnchor, which can be use to reinitialize the component from its serialized values. - Moved the Cesium tileset shaders from the
Shader Graphsshader category to the newCesiumshader category. - Added
CesiumDebugColorizeTilesRasterOverlayto visualize how a tileset is divided into tiles.
Fixes π§
- Fixed a bug that prevented caching of 3D Tiles and overlay requests.
- Fixed a bug that could cause the Cesium ion Token Troubleshooting panel to crash the Unity Editor.
- Added a workaround for a crash in the Burst Compiler (bcl.exe) in Unity 2022.2 when using il2cpp.
- Fixed a bug that could cause incorrect metadata to be associated with a feature, especially in Draco-encoded tiles.
In addition to the above, this release updates cesium-native from v0.21.3 to v0.22.0. See the changelog for a complete list of changes in cesium-native.
Cesium for Unity v0.2.0
Cesium for Unity works on Windows (x86-64), macOS (x86-64 and Apple Silicon), Android (ARM64 and x86-64), and iOS.
π Get Started
- Download Cesium for Unity Samples.
- Extract the
.zipfile into a suitable location on your computer. - 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.
- 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 π£
- Renamed
CesiumTransformstoCesiumWgs84Ellipsoid.
Additions π
- Added
CesiumCameraController, a globe-aware controller that adapts its speed and clipping planes based on its height from the globe. - Added
CesiumFlyToController, a controller that can smoothly fly to locations across the globe. - Added an option to add a
DynamicCamerafrom the Cesium panel to the scene. TheDynamicCameracontainsCesiumCameraControllerandCesiumFlyToControllercomponents and offers easy navigation of the globe. - Added support for building to iOS.
- Added support for building to Android x86-64 devices like the Magic Leap 2.
Fixes π§
- Fixed a bug where
CesiumGeoreference,CesiumGlobeAnchor, andCesiumSubScenewould not properly update when their values were changed by undos or pasted values. CesiumRuntimeSettingsis now stored inAssets/CesiumSettings/Resourcesinstead ofAssets/Settings/Resources.- Added an explicit
Physics.SyncTransformswhenCesiumOriginShiftactivates or deactivates sub-scenes, avoiding a brief period of potentially very incorrect collisions.
In addition to the above, this release updates cesium-native from v0.21.1 to v0.21.3. See the changelog for a complete list of changes in cesium-native.