Skip to content
iPhone X -> Unity VFX Graph demo (real-time Point Cloud streaming)
Branch: master
Clone or download
Latest commit 8c92c10 Sep 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets Init Sep 21, 2019
Packages Init Sep 21, 2019
ProjectSettings Init Sep 21, 2019
img Init Sep 21, 2019
.gitignore Init Sep 21, 2019 Init Sep 21, 2019

Unity VFX Graph real-time point cloud streaming via Record3D demo

This demo shows how to use the Record3D app to stream Point Clouds from your iPhone/iPad with the TrueDepth camera into Unity VFX Graph in real-time.

Disclaimer: the demo is in pre-alpha state; in case of wider interest I can continue developing this project into a Unity Plugin.


This project contains a modified Particles VFX of Keijiro Takahashi which demonstrates how to integrate Record3D live streaming into an existing VFX Graph.

What will you need?

  • An iPhone or iPad with the TrueDepth Camera (FaceID)
  • Record3D iOS app (live streaming requires purchase)
  • Unity 2019.2 or newer
  • Make sure you have installed iTunes (on Linux, you will need to install libusbmuxd-dev package — should be installed on Ubuntu by default, no action needed)

Before opening the Unity project

This demo depends on the C++ library record3d_unity_streaming which you will either need to build yourself or download pre-built (available only for Windows and macOS, you will need to build it yourslef if you are running on Linux).

Pre-built library for Windows

Only one dll file is needed: record3d_unity_streaming.dll. Make sure it is in PATH — the easiest way is to copy the file into C:\Windows\System32 and/or C:\Windows\SysWOW64.

Pre-built library for macOS

Similar to Windows, only one dylib file is needed: librecord3d_unity_streaming.dylib. Make sure it is in PATH — the easiest way is to copy the file into /usr/lib/.

After opening the Unity project

  1. Disable the "Exposure" settings otherwise you will not see the animation (I wasn't able to save it):

    • Render Settings > Volume (Script) > Procedural Sky > uncheck Exposure
    • Post Processing Settings > Volume (Script) > uncheck Exposure


  2. Connect your iPhone or iPad to your computer via USB cable. To make things easier, try having connected only single iOS device (if multiple iOS devices are connected, you can change the index of USB device in the "Device Index" property of the "Record 3D Stream" Script).

  3. Open Record3D, go to the Settings tab and enable "USB Streaming Mode" (purchase required)

  4. Go to the Record tab and press the circular red toggle button (you should see "Started, Waiting for Connection" message on your iPhone/iPad)

  5. Press the "Play" button in Unity and wait

  6. Live stream should appear — you can now switch into the Scene tab to inspect the live stream

You can contact me at if you have any questions or encounter problems.

You can’t perform that action at this time.