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()
andCameraApi.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 theGeographicTransform
. Positions are now represented as Latitude/Longitude/Altitude; to mitigate the effects of this change,Wrld.Space.LatLongAltitude.ToECEF()
andWrld.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. UsePositioner.TryGetECEFLocation()
instead. -
Positioner.SetECEFLocation()
has been removed. UsePositioner.SetLocation()
instead. To convert aDoubleVector3
toLatLong
, useLatLong.FromECEF()
.
See the updated Positioner documentation for more details.
GeographicTransform in v0.7
-
GeographicTransform.GetEcefPosition()
has been removed. UseGeographicTransform.TryGetLatLongAltitude()
instead. To convert aLatLongAltitude
toDoubleVector3
, useLatLongAltitude.ToECEF()
. -
GeographicTransform.SetPosition(DoubleVector3)
has been removed. UseGeographicTransform.SetPosition(LatLong)
instead, along withGeographicTransform.SetElevationMode()
andGeographicTransform.SetElevation()
to control elevation, or set these properties using the Unity Inspector. -
If you are using a
GeographicTransform
along with a separatePositioner
, remove the separatePositioner
. TheGeographicTransform
now manages its ownPositioner
, and functionality regarding elevation and indoor map position has been made available through theGeographicTransform
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
.