Changelog

SDK v1.13.1

2021-06-18

Added

  • REST: On-server localization now returns the localization time on the server

Changed

  • Core: Optimized plug-in sizes

  • Samples: Cleaned navigation samples

Fixed

  • Mapper: VGPS was not working

SDK v1.13

2021-05-18

Added

  • Core: Adjustable plugin image compression level (0..9)

  • Core: ARSpace; LoadAndInstantiateARMap() improvements, overloaded version for on-server localizer use cases

  • Samples: Mapper; added image limit warning

  • Sample: Mapper; tracker alignment support

  • Developer Portal: Metadata downloadable as an .json file

Changed

  • Core: Removed 'bank' and other unused parameters from the REST API

  • Core: OnPoseFound/Lost events are now public

  • Core: Removed MapToEcecGet(), now fetches it from map metadata instead

  • Samples: Now uses a binary endpoint for loading the map data instead of Base64

  • Developer Portal: allow max. 8 jobs for alignment/stitching

  • Developer Portal: email address changed to user ID

  • REST API: Sending maps now requires the recipient's user ID, not the email address

Fixed

  • Core: REST; Map load workaround for pre 1.12 servers

  • Core: ARMap; fixed point cloud shader slowness with multiple points

  • Bug fixes and general SDK clean up

SDK v1.12.1

2021-04-11

Fixed

  • Core: Updated point cloud shader to fix errors on some Android devices

SDK v1.12

2021-04-05

Changed

  • SDK: mapId used everywhere instead of mapHandle

  • SDK: ARMap tries to parse mapId from map name when loading .bytes files

  • Cloud Service: Map alignment stored in the new map metadata as a Vector3(tx, ty, tz) and Quaternion(qw, qx, qy, qz). The old ECEF endpoint and transform matrix will be deprecated later.

  • Cloud Service: Default map alignment in metadata is based on captured GPS coordinates and is stored in the metadata in the ECEF coordinate system.

  • Cloud Service: Faster map stitching

  • Core: Added Geo Pose localizer to ARLocalizer

  • Core: Removed old v1.10 localizer from the plugin to make it smaller

  • Core: Made CaptureImage() faster - the image connectivity is not tested if not specified. Testing connectivity was useless for on-server localization anyway

  • Core: Removed old pointcloud3d shader and support for it in scripts

  • Samples: Unified Mapper to use ARLocalizer, ARMap and ARSpace components like the rest of the samples

  • Samples: Unified MapDownloadSample, which also now supports loading multiple maps

Fixed

  • SDK: Lots of clean up and minor fixes

  • Magic Leap: fixed compiling when using Unity 2020.2, AR Foundation 4, and ML XR Plugin 6

Added

  • Cloud Service: New map metadata stored with all new maps

  • Cloud Service: New REST API endpoints to get and set metadata and reset map alignment in metadata

  • Cloud Service: New Align Maps feature aligns maps and updates their metadata. Similar to stitching maps but no new map is constructed.

  • Cloud Service: output coverage.json log file for map stitching and alignment jobs

  • Cloud Service: Maps can now be renamed

  • Core: New pointcloudDisk shader with adjustable point size and 2D/3D modes

  • Core: Added a helper function LoadAndInstantiateARMap() in ARSpace for easier runtime map initialization

  • Core: LoadMapAsync() now fetches the map metadata

  • Core: ARMap functionality to load/save/reset map alignment metadata

  • Core: New AR Map Downloader tool to automatically download and set up maps in scenes

  • Samples: Added "Check image connectivity" toggle to Mapper workspace settings

Known issues

  • ARMap might throw warnings about disposing of ComputeBuffers

  • Point cloud shader not working on Android devices with certain Mali GPUs

SDK v1.11.3

2021-01-20

Changed

  • Core: Fixed a minor compatibility problem with the latest GitHub samples

SDK v1.11.2

2021-01-12

Changed

  • Core: Updated all plugins

  • Core: Improvements to the on-server localizer in ARLocalizer and ARMap

SDK v1.11.1

2021-01-11

Changed

  • Core: Updated localizer with improved performance and speed

  • REST API: New functions using async/await instead of Unity coroutines

  • Switched to System.Net.HttpClient everywhere, because of random problems with UnityWebRequest on iOS

  • General bug fixes

SDK v1.10

2020-11-11

Added

  • REST API: Proper URI identifiers

  • REST API: new endpoints for image capture and on-server localization, where the image payload can be sent as binary instead of a Base64-encoded string (smaller filesize -> faster uploads)

Changed

  • Immersal Mapper: Smaller filesize in image uploads

  • Immersal Mapper: Localization and capturing is now faster especially on older devices, such as iPhone 7 and beyond

SDK v1.9

2020-10-23

Added

Changed

  • Core: Localizer does not return the map id anymore. Instead, it returns a map handle like an earlier SDK version did.

  • Immersal Mapper: Updated UI

  • Samples: Restructured Unity core package and the Unity sample project. ARMap.cs, ARLocalizer.cs, and other essential scripts are now part of the core package. This should make future SDK updates to new versions easier.

  • Samples: Code cleanup

  • Samples: Reworked the pointcloud3d shader to support point size attribute on OpenGL, Vulkan, and Metal platforms.

  • Samples: Mapper app sample updated to the latest version.

SDK v1.8

2020-09-11

Added

Fixed

  • Samples: `NativeBindings` errors in Unity Editor.

Changed

  • Huawei AR Engine support moved to its https://github.com/immersal/arcloud-sdk-samples/tree/hwar

  • Samples: Api Compatibility Level was errorneously set to .NET 4.x, switched back to .NET Standard 2.0

  • Samples: Mapper now stores queued images into the persistent data directory to avoid out-of-memory crashes

  • Samples: Updated to Unity 2019.4.9f1 LTS and AR Foundation 4.0.8

SDK v1.7

2020-07-06

Added

  • Core: Improved localization robustness.

  • Core: REST API clean-up; error, start, progress, and complete callbacks.

  • Core: REST API; Map construct detail level.

  • Samples: Native double-precision GPS coordinates for iOS and Android.

  • Samples: Image upload progress bar to Mapper UI.

  • Samples: Map construction detail level in Mapper.

  • Samples: Visual GPS compass bearing in Mapper.

Fixed

  • Samples: ARMap.cs crashing in Unity Editor when editing.

  • Samples: Bug fixes to Huawei AR sample scripts.

Changed

  • Core: Smaller plug-in size.

  • Core: Changed map hashes from MD5 to SHA256.

  • Samples: Updated to Unity 2019.4 LTS and AR Foundation 4.

Known issues:

  • Assets\ImmersalSDK\Core\Plugins\NativeBindings.cs(73,24): error CS0161: 'NativeBindings.GetLatitude()': not all code paths return a value If Unity's platform is 'PC, Mac & Linux Standalone', there's a regression bug in the Core SDK. Switch platform to iOS or Android to resolve the issue.

SDK v1.6

2020-06-05

Added

  • Server / Developer Portal: Support for textured meshes (both grayscale and RGB).

  • Samples: ARLocalizer.cs, ARSpace.cs & ARMap.cs: support for uniform scaling of maps.

  • Samples: ARLocalizer.cs now has MapChanged and PoseFound events.

Fixed

  • Plugin: image capturing is now a lot faster.

SDK 1.5

2020-05-05

SDK v1.4 was released to closed testing earlier. After a round of updates and new features, we decided to fast-track v1.5 out for public release.

New v1.5 (technically v1.4) maps are not supported by older SDK versions.

Added

  • Server/Developer Portal: Support for private and public maps.

  • Server/Developer Portal: Sending/copying maps between accounts.

  • Server/Developer Portal: Search for public maps and filter by GPS coordinates or user accounts.

  • Server/Developer Portal: SHA256 hashes for new maps.

  • Server/Developer Portal: Reset the private developer token.

  • Samples: ARLocalizer.cs has a new toggle to reset filtering when the last localized map id changes.

  • Samples: Graph-based navigation sample.

Fixed

  • Immersal Mapper: Android now properly requests for location (GPS) permissions.

Changed

  • Server/Plug-in: Generated maps are now up to 80% smaller.

  • Server/Plug-in: Map file format is not compatible with v1.3 anymore. v1.5.0 plugin can still load maps done with earlier SDK versions. Server/Plug-in: Both the localization accuracy and speed have been improved. Plug-in: The native plugins are now 75% smaller.

  • Developer Portal: Updated version of the Developer Portal to support new features.

  • Samples: ARlocalizer.cs lastLocalizedMapId variable made public.

SDK 1.3

2020-02-07

New v1.3 maps are not supported by older SDK versions.

Added

  • Developer Portal: v1.3 breaks map file format forward compatibility. Old maps are stored in a separate legacy v1.2 Developer Portal. Maps are not carried over to the new version.

  • Developer Portal: A new sparse state in map construction. Maps are generated faster as you can now download the .bytes file and sparse .ply point cloud before the dense mesh is computed.

  • Server: On-server localizer now also accepts RGB24 .png images in addition to 8-bit grayscale ones for easier headset integration.

  • Plugin: Visual GPS support. If a map contains GPS data, the localizer will return WGS84 lat/long/alt coordinates with a successful localization.

  • Samples: Mapping App now has a GPS toggle. When on, captured images contain GPS coordinate data which is used in map construction. Also, maps in the map list are filtered with a 200-meter radius from the current location.

Fixed

  • ARLocalizer.cs Burst mode now runs when the app enters the foreground.

  • ARLocalizer.cs and ARHelper.cs Fixed rotation for different screen orientations so portrait/landscape/auto now work.

  • Plugin: Localizer now returns -1 mapID if no maps are loaded.

Changed

  • Immersal AR Cloud SDK name to Immersal SDK everywhere.

  • Developer Portal: Dense meshes are now more detailed.

  • Plugin: Localizer now returns the actual mapID from the Developer Portal instead of a mapHandle unique to the session.

  • Plugin: Map file format changed. Old .bytes files continue to work in v1.3, but new maps will not work in older versions.

  • Samples: Updated project to Unity 2019.2.20f1.

  • Samples: Added dependancy to AR Foundation 3.1 preview, because some scenes have AR Occlusion Manager attached to the AR Camera. Older versions of AR Foundation continue to work.

  • Samples: Updated NavigationSample scripts.

SDK 1.2

2019-10-16

Added

  • Developer Portal: Map stitching. You can select multiple maps and combine them into one new map (assuming the maps have overlapping features).

  • Samples: Mapping App can now restore any old map's source data to the workspace from the map list.

  • Samples: Mapping app can also delete maps from the map list directly.

  • SDK: Mapping performance improvements.

  • SDK: REST API updated.

Fixed

  • Samples: The "AR Cloud space" rotation and position can now be gotten from ARSpace.cs instead of ARLocalizer.cs, which was buggy anyway and returned only the first map's pose, thus giving incorrect results when using multimaps.

  • Samples: Navigation and multiplayer samples fixed to work with multimaps.

  • Samples: UI fixes all over.

Changed

  • Samples: Updated project to Unity 2019.2.8f1 and AR Foundation 3.0.0 preview.3, should continue to work just fine with older versions.

  • Developer Portal: Updated EULA.

SDK 1.1

2019-09-12

Added

  • A simple Multiplayer Sample scene using Unity Networking (Note: You need to enable Multiplayer in Unity Services).

  • Variable lighting adaptation.

  • Android 64-bit support.

  • Map Download Sample (previously SampleScene) and MapListController.cs are back by popular demand.

  • On-server localization.

  • Gravity-based map alignment when constructing a new map.

Fixed

  • Mapping and localization now work on iPad Mini (probably fixes problems with various Android devices as well).

  • Point cloud renderer and runtime map loading fixes.

  • On-device localization was sometimes giving false results.

Changed

  • Supported Unity version is now 2019.2.3f1+, should work on 2018.4 LTS still with correct AR Foundation packages.

  • Android plugin is now an .aar file with both 32-bit and 64-bit binaries.

SDK 1.01

2019-06-24

Added

  • Samples: Mapping App now notifies the user if sequential captured images can be connected by their matching feature points.

Changed

  • Samples: C# API updated for AR Foundation 1.5 / 2.2.

  • Samples: Point cloud preview bugs fixed.

  • Samples: Now distributed in a separate GitHub repository.

  • SDK: Requires Unity 2018.4 LTS.

  • SDK: Now distributed as a .unitypackage (available at the developer portal).

SDK 0.19

2019-06-12

Added

  • SDK: Improved multimap support in Unity Editor.

  • SDK: ARLocalizer.cs finds the first pose much faster.

Changed

  • Samples: Improved MappingApp with separate Workspace and Visualize modes.

  • Samples: Changes to sample scenes to support multimap feature.

  • SDK: ARSpace.cs functionality moved to ARMap.cs to clarify multimap workflow.

SDK 0.18

2019-05-23

Added

  • Samples: Downsample option in ARLocalizer. Uses less memory and is faster.

  • Samples: Multimap loading support in MappingApp.

  • Samples: RGB Image Capture Toggle in MappingApp.

  • Developer Portal: Dense point cloud download.

  • Developer Portal: Delete map function.

  • SDK: Initial multimap support.

Changed

  • SDK: Fixed camera intrinsics calculation (fixes screen space Y offset bug on iOS devices).

  • SDK: ARCloud.cs script removed, ARSpace.cs has the same functionality.

Known issues

  • Samples: Removed the drop-down menu for dynamic map loading. It needs to be completely reworked to support multimaps.

SDK 0.17

2019-04-08

Added

  • Samples: Persistent Content Placement Sample Scene.

  • Samples: Pose Filtering in SampleScene.

  • Developer Portal: Dense point cloud download.

  • SDK: RGB Camera Capture option.

Changed

  • Samples: MappingApp UI and UX improvements.

  • SDK: Updated to OpenCV 4.

  • SDK: Improved network bandwidth usage during mapping.

SDK 0.16

2019-03-07

Added

  • Samples: Indoor Navigation Sample Scene.

  • Samples: Tracking Quality Indicator PoseIndicator in SampleScene.

  • Developer Portal: Sparse point cloud download.

  • SDK: Feature Anchor sets map orientation.

Changed

  • Samples: Option to switch between different maps in addition to the embedded one.

  • Samples: MappingApp UI and UX improvements.

  • Samples: MappingApp Capture Delay decreased from 0.5 seconds to 0.25 seconds.

  • Unity Package: Project cleanup.

Fixed

  • Samples: Fixed crash when no debug text was assigned to ARLocalizer.

  • SDK: Fixed a bug with setting the camera resolution. Now defaults to best possible.

SDK 0.15

2019-02-17

Initial release