ARFlow Client
The ARFlow client is responsible for on-device AR data collection and high-performance AR data streaming. We implement the ARFlow client as a Unity application that can be easily ported to different platforms and devices.
The core functions are implemented in unity/Assets/Scripts/ARFlow
. We show three example ARFlow integration of three different data sources:
- Mock data: inside ./Assets/Scripts/ARFlowMockDataSample.cs
- ARFoundation device data: inside ./Assets/Scripts/ARFlowDeviceSample.cs
- Unity scene data: inside ./Assets/Scripts/ARFlowUnityDataSample.cs
To use ARFlow with your own device, you should directly deploy our client code to your AR device. Please compile the Unity code for your target deployment platform and install the compiled application.
Currently, we support the following platforms:
- iOS (iPhone, iPad)
- Android (Android Phone) (*1)
Document generation
This document for the C# code was generated by a tool called Docfx
.
To get started on building the document:
- Make sure you have dotnet installed (preferably dotnet 6).
- Change directory into
Documentation
and run eitherscripts/build.cmd
orscripts/build.sh
(If you want to have the web page served locally, instead of the script run docfx docfx.json --serve
)
FAQ
When opening the app, I only see a black screen
In Build Settings, add Scenes/DeviceData to the scenes in Build. Add the corresponding scene of which you want to run
- Sample data to test cameras (depth, RGB): add the DeviceData scene to build
- Demos: add the corresponding demo scene to build.
(*1) I encountered a problem with building the android application. How do I resolve it?
Upon building the android application, I got a message saying uncompatible android version. Or the app crashes immediately
Building on Android is prone to some issues, regarding target SDK version (Android version), graphics API, and more. Below are some build configuration that has worked on our devices:
- In Build Settings, add Scenes/DeviceData to the scenes in Build.
- In Player Settings, uncheck Auto Graphics API, remove Vulkan.
- In Player Settings, change Android minimal SDK version to at least 24 (Android 7.0).
- In Player Settings, change Scripting Backend to IL2CPP
- In Player Settings, check ARMv7 and ARM64 in Target Architectures. (Check any other architectures if needed).
- In Player Settings, change Active Input Handling to Input System Package (New).