REST: On-server localization now returns the localization time on the server
Core: Optimized plug-in sizes
Samples: Cleaned navigation samples
Mapper: VGPS was not working
Core: Adjustable plugin image compression level (0..9)
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
Core: Removed 'bank' and other unused parameters from the REST API
Core: OnPoseFound/Lost events are now public
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
Core: REST; Map load workaround for pre 1.12 servers
ARMap; fixed point cloud shader slowness with multiple points
Bug fixes and general SDK clean up
Core: Updated point cloud shader to fix errors on some Android devices
mapId used everywhere instead of
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
Core: Removed old v1.10 localizer from the plugin to make it smaller
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
Mapper to use
ARSpace components like the rest of the samples
MapDownloadSample, which also now supports loading multiple maps
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
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
ARSpace for easier runtime map initialization
LoadMapAsync() now fetches the map metadata
ARMap functionality to load/save/reset map alignment metadata
AR Map Downloader tool to automatically download and set up maps in scenes
Samples: Added "Check image connectivity" toggle to
Mapper workspace settings
ARMap might throw warnings about disposing of ComputeBuffers
Point cloud shader not working on Android devices with certain Mali GPUs
Core: Fixed a minor compatibility problem with the latest GitHub samples
Core: Updated all plugins
Core: Improvements to the on-server localizer in
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
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)
Immersal Mapper / REST API: Use tracker poses-feature for map construction (beta)
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
Samples: Magic Leap localization support and a reference Unity project, https://github.com/immersal/arcloud-sdk-samples/tree/magicleap)
Core: OnPoseFound and OnPoseLost events in
ImmersalSDK.cs, OnFirstLocalization event in
ARLocalizer.cs now has start/stop/pause/resume methods
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.
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.
Samples: Nreal Light localization support, https://github.com/immersal/arcloud-sdk-samples/tree/nreal
Samples & Immersal Mapper app: Progress bar for map loading.
Documentation: REST API Python sample scripts
Samples: `NativeBindings` errors in Unity Editor.
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
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.
ARMap.cs crashing in Unity Editor when editing.
Samples: Bug fixes to Huawei AR sample scripts.
Core: Smaller plug-in size.
Core: Changed map hashes from MD5 to SHA256.
Samples: Updated to Unity 2019.4 LTS and AR Foundation 4.
Server / Developer Portal: Support for textured meshes (both grayscale and RGB).
ARMap.cs: support for uniform scaling of maps.
ARLocalizer.cs now has
Plugin: image capturing is now a lot faster.
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.
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: Huawei AR Engine support
ARLocalizer.cs has a new toggle to reset filtering when the last localized map id changes.
Samples: Graph-based navigation sample.
Immersal Mapper: Android now properly requests for location (GPS) permissions.
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.
lastLocalizedMapId variable made public.
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.
ARLocalizer.cs Burst mode now runs when the app enters the foreground.
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.
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.
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.
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.
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.
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.
Gravity-based map alignment when constructing a new map.
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.
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.
Samples: Mapping App now notifies the user if sequential captured images can be connected by their matching feature points.
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: Improved multimap support in Unity Editor.
SDK: ARLocalizer.cs finds the first pose much faster.
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.
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.
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.
Samples: Removed the drop-down menu for dynamic map loading. It needs to be completely reworked to support multimaps.
Samples: Persistent Content Placement Sample Scene.
Samples: Pose Filtering in SampleScene.
Developer Portal: Dense point cloud download.
SDK: RGB Camera Capture option.
Samples: MappingApp UI and UX improvements.
SDK: Updated to OpenCV 4.
SDK: Improved network bandwidth usage during mapping.
Samples: Indoor Navigation Sample Scene.
Samples: Tracking Quality Indicator PoseIndicator in SampleScene.
Developer Portal: Sparse point cloud download.
SDK: Feature Anchor sets map orientation.
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.
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.