A new big update is available! Try AR Foundation Remote 2.0.
⌛ Time is money! Iterate faster on your AR projects without leaving Unity Editor. Save time and sanity developing AR apps.
In simple words: AR Foundation Remote = Unity Remote + AR Foundation support.
💡 Current workflow with AR Foundation 💡
1. Make a change to your AR project.
2. Build the project and run it on a real AR device.
3. Wait for the build to complete.
4. Wait a little bit more.
5. Test your app on a real device using only Debug.Log().
🔥 Improved workflow with AR Foundation Remote 🔥
1. Set up the AR Companion app once. The setup process takes less than a few minutes.
2. Just press play! Run and debug your AR app with full access to the scene hierarchy and all object properties right in the Editor!
💡 This plugin is licensed on a per-seat basis, meaning that one license is required for each developer in your team. More Info.
⚡ Features ⚡
• Precisely replicates the behavior of a real AR device in Editor.
• Extensively tested with both ARKit and ARCore.
• Plug-and-play: no additional scene setup is needed, just run your AR scene in Editor with AR Companion running (minor code change may be needed).
• Streams video from Editor to real AR device so you can see how your app looks on it without making a build (see Limitations).
• Multi-touch input remoting: stream multi-touch from an AR device or simulate touch using a mouse in Editor (see Limitations).
• Test Location Services (GPS), Gyroscope, and Compass right in the Editor.
• Written in pure C# with no third-party libraries. Full source code is available.
• Connect any AR Device to Windows PC or macOS via Wi-Fi: iOS + Windows PC, Android + macOS... any variation you can imagine!
• Compatible with ManoMotion SDK.
• Compatible with Wikitude SDK Expert Edition.
• Compatible with VisionLib SDK.
⚡ Supported AR subsystems ⚡
• Meshing (ARMeshManager): physical environment mesh generation, ARKit mesh classification support.
• Occlusion (AROcclusionManager): ARKit depth/stencil human segmentation, ARKit/ARCore environment occlusion (see Limitations).
• Face Tracking: face mesh, face pose, eye tracking, ARKit Blendshapes.
• Body Tracking: ARKit 2D/3D body tracking, scale estimation.
• Plane Tracking: horizontal and vertical plane detection, boundary vertices, raycast support.
• Image Tracking: supports a mutable image library and replacement of the image library at runtime.
• Depth Tracking (ARPointCloudManager): feature points, raycast support.
• Camera: camera background video (see Limitations), camera position and rotation, facing direction, camera configurations.
• CPU images: camera and occlusion CPU images support (see Limitations).
• Anchors (ARAnchorManager): add/remove anchors, attach anchors to detected planes.
• Session subsystem: Pause/Resume, receive Tracking State, set Tracking Mode.
• Light Estimation: Average Light Intensity, Brightness, and Color Temperature; Main Light Direction, Color, and Intensity; Exposure Duration and Offset; Ambient Spherical Harmonics.
• Raycast subsystem: perform world-based raycasts against detected planes, point clouds, and the depth map.
• Object Tracking: ARKit object detection after scanning with the scanning app (see Limitations).
• ARKit World Map: full support of ARWorldMap. Serialize the current world map, deserialize the saved world map, and apply it to the current session.
## [1.4.42-release.0] - 2025-11-22
### Fixed
- Fixed: camera background doesn't work with AR Foundation 6.1.1 or newer.
- Fixed: AR Companion displays the "Camera does not contain an additional camera data component" in certain cases.
## [1.4.41-release.0] - 2025-10-13
### Fixed
- Fixed: building the AR Companion app with Unity 6000 fails with error: Error building Player: Failed to open 'Assets/Plugins/ARFoundationRemoteInstaller/Resources/ARCompanion.unity'.
## [1.4.40-release.0] - 2025-04-15
### Fixed
- Fixed: the plugin throws NullReferenceException if `GetARWorldMapAsync()` is called immediately at the start of the app.
- Fixed: creating ARAnchor immediately after enabling ARAnchorManager causes null ref in AR Companion app.
## [1.4.38-release.0] - 2024-05-12
### Added
- Add Unity 6 support.
- Add AR Foundation 6.0.1 support.
### Fixed
- Fixed: change materials in samples to use the material that can be automatically upgraded to URP with Render Pipeline Converter.
## [1.4.37-release.0] - 2024-02-15
### Added
- Add AR Foundation 6.0.0-pre.6 support.
## [1.4.36-release.2] - 2024-02-13
### Fixed
- Fixed: the plugin doesn't compile in Unity 2020.3.
## [1.4.36-release.1] - 2023-12-30
### Fixed
- Fixed: acquiring multiple CPU images at once causes the 'synchronous call failed because of timeout' error.
## [1.4.35-release.0] - 2023-12-21
### Added
- Add AR Foundation 6.0.0-pre.5 support.
## [1.4.34-release.0] - 2023-11-21
### Added
- Add AR Foundation 6.0.0-pre.4 support.
### Changed
- Improve warning messages when installing the AR Companion app.
## [1.4.33-release.0] - 2023-09-26
### Added
- Add support for AR Foundation 6.0.0-pre.3.
### Fixed
- Fixed: plugin installation fails if the projects have packages with non-standard version numbers. Bug report: https://github.com/KyryloKuzyk/AR-Foundation-Remote-support/issues/82
## [1.4.32-release.0] - 2023-08-10
### Fixed
- Fixed: Sample scenes use materials that can't be automatically upgraded to URP with the help of Render Pipeline Converter.
## [1.4.30-release.2] - 2023-06-07
### Fixed
- Fixed: AR Companion throws assertion exception in Throttler c-tor when the 'Ar Companion Settings/Camera Video Settings/Max Camera Intrinsics Fps' is greater than 1.0f.
## [1.4.30-release.1] - 2023-06-06
### Changed
- Remove the CommandBuffer.IssuePluginEvent() check because it's no longer necessary for modern Unity versions.
## [1.4.30-release.0] - 2023-05-10
### Fixed
- Fixed: the plugin freezes Unity Editor on Apple Silicon (M1/M2) chips.
https://github.com/KirillKuzyk/AR-Foundation-Remote-support/issues/13
https://issuetracker.unity3d.com/issues/m1-editor-slash-player-freezes-when-calling-getnativetextureptr
- Fixed: the plugin produces warnings with AR Foundation 5.1.0-pre.4 because of obsolete API.
### Changed
- If ARKit/ARCore provider is not enabled in the 'XR Plug-in Management' window, log an error and stop the AR Companion build.
## [1.4.29-release.0] - 2023-04-20
### Fixed
- Fixed: companion app blocks the view with the 'AR Camera does not use a Tracked Pose Driver' error when used with AR Foundation 5.x.
- Fixed: the plugin doesn't compile with Unity 2020.3 and AR Foundation 3.1.10.
## [1.4.28-release.0] - 2023-02-01
### Changed
- Minor improvements.
## [1.4.27-release.0] - 2022-09-13
### Changed
- Remove pre-recorded session records of example scenes because they are no longer compatible with newer AR Foundation versions.
### Fixed
- Fixed: the plugin doesn't work with Test Runner because Test Runner starts from the InitTestScene.
- Fixed: ARKit World Map doesn't work correctly with the disabled 'Reload Domain' setting.
- Fixed: Session Playback may throw IndexOutOfRange exceptions and the end of the session playback.
## [1.4.25-release.0] - 2022-08-03
### Added
- Added connection timeout.
- Added ARFoundationRemoteUtils.isConnected property to check if the plugin is currently connected to the AR Companion app.
- AR Foundation 5.0.0-pre.13 support.
### Changed
- Blocking API can now be called before the AR Companion app is connected. Examples of blocking calls: ARAnchorManager.AddAnchor(), ARCameraManager.GetConfigurations(), etc.
### Fixed
- Fixed: LocationServicesExample.cs script doesn't have the ANDROID_JNI_INSTALLED define in the asmdef.
## [1.4.24-release.0] - 2022-07-12
### Fixed
- Fixed: AR Companion app doesn't ask for network permission on Chinese version of iOS.
## [1.4.23-release.2] - 2022-06-21
### Fixed
- Fixed: alpha Unity versions don't work with unembedded AR Foundation package.
## [1.4.23-release.1] - 2022-06-09
### Changed
- Examples were moved inside the plugin's package. Please remove the 'Assets/Plugins/ARFoundationRemoteInstaller/Examples' before updating to new version. To install examples, please press the 'Installer/Import Samples' button.
- Plugin's classes were made 'internal' instead of 'public'.
### Fixed
- Fixed: Unity Editor crashes when running a scene with ARMeshManager on Windows and Linux.
## [1.4.23-release.0] - 2022-06-06
### Changed
- Use native XRInputSubsystem to drive camera pose with Input System (New).
### Fixed
- Fixed: 'Input System/Input Debug' window throws the 'ArgumentException: Layout name cannot be null or empty' exception.
## [1.4.22-release.1] - 2022-06-03
### Fixed
- Fixed: the plugin doesn't restore project name and project id after failed AR Companion app build.
## [1.4.22-release.0] - 2022-06-01
### Added
- AR Foundation 5.0.0-pre.12 support added.
## [1.4.21-release.5] - 2022-05-28
### Fixed
- Fixed: AR Companion app disconnects when the first MeshGenerationResult is received.
## [1.4.21-release.4] - 2022-05-27
### Fixed
- Fixed: the plugin shows error in CheckARSubsystemsVersion.cs file after the import.
## [1.4.21-release.3] - 2022-05-25
### Fixed
- Fixed: ARKit Body Tracking examples don't work with AR Foundation 5.0.0-pre.9.
- Fixed: example scenes sometimes produce the 'Camera does not use a Tracked Pose Driver' warning with AR Foundation 5.0.0-pre.9.
## [1.4.21-release.2] - 2022-05-07
### Added
- Added a warning that legacy TrackedPoseDrived is not supported by the plugin in Unity 2021 (or newer) and AR Foundation 4.0 (or newer).
### Fixed
- Fixed: camera background doesn't work with GraphicsDeviceType.OpenGLCore.
## [1.4.21-release.0] - 2022-04-19
### Added
- AR Foundation 5.0.0-pre.9 support added.
## [1.4.20-release.5] - 2022-04-17
### Changed
- The plugin now only runs if the Editor's build target is set to iOS/Android.
### Fixed
- Fixed: XRInputSystem doesn't report device disconnection.
## [1.4.20-release.3] - 2022-04-14
### Fixed
- Fixed: the plugin prints the 'ARPointCloudManager.cs fix can't be applied' error after embedding the AR Foundation package.
### Changed
- Rename Common to ClientServerCommon to fix possible naming conflict with other projects.
## [1.4.20-release.2] - 2022-04-14
### Changed
- Rename Common to ClientServerCommon to fix possible naming conflict with other projects.
## [1.4.20-release.1] - 2022-04-09
### Fixed
- Fixed: Unity Editor crashes on meshing if AR Foundation is 3.1.10 or older.
## [1.4.20-release.0] - 2022-04-06
### Added
- Native XRMeshSubsystem support. AR Foundation embedding is now no longer required for meshing.
### Fixed
- Fixed: CpuImagesExample disposes NativeArray twice resulting in exception in Unity 2019.4.37 or older.
- Fixed: UCB builds are failing because the plugin erroneously expects the AR_COMPANION define to be present.
## [1.4.19-release.0] - 2022-03-31
### Added
- Added native XRInputSystem support. This means that ARPoseDriver.cs now works exactly the same in the Editor as it works on real devices.
- Added ARKit Body Tracking example.
### Changed
- AR Foundation package embedding is now optional. You are only required to embed it for features that are not supported by AR Foundation in the Editor.
- The plugin now doesn't display the 'please focus Game View' error if the Device Simulator window is active.
### Fixed
- Fixed: the plugin reports MeshGenerationResult.Status incorrectly.
- Fixed: TrackableType.FeaturePoint raycast doesn't work.
## [1.4.18-release.1] - 2022-01-23
### Fixed
Fixed: the plugin throws AssertionException in ARFaceEditorMemorySafetyErrorFixer on every scene start with AR Foundation 4.1.9.
Fixed: platforms that don't support XRCameraSubsystem (pass-through video) like HoloLens throw an exception on scene start and don't create other subsystems because of it.
## [1.4.18-release.0] - 2022-01-10
### Added
- AR Foundation 5.0.0-pre.7 support.
- ARRaycastManager.Raycast() now supports TrackableType.Depth. The plugin blocks the main Unity Editor thread while performing the TrackableType.Depth raycast, so it's not suitable for calling every Update().
### Changed
- TrackableType.PlaneWithinInfinity is now **not** supported on Android to reflect the actual behavior of ARCore. Please see [this post](https://github.com/Unity-Technologies/arfoundation-samples/issues/893#issuecomment-953698353) for more info.
## [1.4.17-release.0] - 2022-01-05
### Added
- The plugin can now work with the disabled 'Project Settings/Editor/Enter Play Mode Settings/Reload Domain' setting.
## [1.4.16-release.1] - 2021-12-22
### Added
- If you don't have a macOS computer and want to develop an AR app for iOS on Windows, the AR Companion app can now be built with Unity Cloud Build.
### Fixed
- Fixed: the plugin uses Windows line endings to modify the AR Foundation package scripts, resulting in warnings during the first installation.
## [1.4.16-release.0] - 2021-12-09
### Added
- AR Foundation 5.0.0-pre.6 support.
## [1.4.15-release.2] - 2021-12-07
### Fixed
- Fixed: the plugin used the '\\' directory separator character on Windows in the manifest.json file, causing an import error on macOS and in Unity Cloud Build.