What’s New in WRLD Unity SDK v0.7

This document will help you understand what’s new in the v0.7 release of the WRLD Unity SDK.


WRLD Unity SDK v0.7 Release Notes

Features

  • Positioning: The GeographicTransform and Positioner classes responsible for positioning objects on the map have been reworked to provide more functionality and improve ease-of-use. Positioners can now be used to place 2D UI elements at map locations, and GeographicTransforms have been simplified, allowing the placement of GameObjects on the map without requiring additional scripting. Positioning examples have been rebuilt to increase clarity and showcase these new features. More information about the Geographic Transform is available on the GeographicTransform Information page.
    See the migration notes for migration instructions.

  • Camera API: Defects in screen-space calculations when dealing with non-standard camera setups (e.g, picking buildings in AR/VR) have been fixed; the Camera API can now register a custom rendering camera for these cases. This is done with the new CameraApi.SetCustomRenderCamera() and CameraApi.ClearCustomRenderCamera() endpoints. See the updated Camera API documentation for more details.

  • Precaching API: You can now precache an area of map data via our Precaching API. This reduces streaming times, loading times, and pop-in for the area that has been precached, and is useful if you know ahead of time where you will be streaming map data from. See the Precaching API documentation and the new examples under the “Precaching” section.

  • Supported Unity Versions: The WRLD Unity SDK now supports Unity Editor version 2018.1.0f2. The minimum Unity version supported remains at 5.5.0f3.

Backwards Compatibility Breaking Changes

  • Positioning API: Direct mutation of the ECEF Tangent Basis owned by the Positioner was unintentionally exposed in earlier versions. This has now been fixed; see the detailed migration notes for migration instructions.

  • Geographic Transform API: In order to simplify this API and provide a consistent interface, we have removed access to the ECEF Tangent Basis owned by the GeographicTransform. Positions are now represented as Latitude/Longitude/Altitude; to mitigate the effects of this change, Wrld.Space.LatLongAltitude.ToECEF() and Wrld.Space.LatLongAltitude.FromECEF() can be used. GeographicTransform now includes a way to adjust elevation above terrain and Indoor Maps via the Unity Inspector. More information about the Geographic Transform is available on the GeographicTransform Information page. See the detailed migration notes for migration instructions.


Migration Instructions

Migrating Positioner and GeographicTransform from v0.6 to v0.7

Positioner in v0.7

  • Positioner.GetECEFLocation() has been removed. Use Positioner.TryGetECEFLocation() instead.

  • Positioner.SetECEFLocation() has been removed. Use Positioner.SetLocation() instead. To convert a DoubleVector3 to LatLong, use LatLong.FromECEF().
    See the updated Positioner documentation for more details.

GeographicTransform in v0.7

  • GeographicTransform.GetEcefPosition() has been removed. Use GeographicTransform.TryGetLatLongAltitude() instead. To convert a LatLongAltitude to DoubleVector3, use LatLongAltitude.ToECEF().

  • GeographicTransform.SetPosition(DoubleVector3) has been removed. Use GeographicTransform.SetPosition(LatLong) instead, along with GeographicTransform.SetElevationMode() and GeographicTransform.SetElevation() to control elevation, or set these properties using the Unity Inspector.

  • If you are using a GeographicTransform along with a separate Positioner, remove the separate Positioner. The GeographicTransform now manages its own Positioner, and functionality regarding elevation and indoor map position has been made available through the GeographicTransform itself.

See the updated GeographicTransform documentation and the GeographicTransform Information page for more details about the GeographicTransform.

Additionally, visit the updated Positioning examples for detailed instructions on using the GeographicTransform and the Positioner.