Different OrbbecBodyTracking.dll for Unity and normal SDK v2.0.9?

I am developer of an Unity extension which uses it’s own DLL to access the Astra DLL’s. While testing I found that my DLL did not work in combination with the DLL’s in the Unity package. By accident I found out that this was caused by the OrbbecBodyTracking.dll. The version in the Unity package does not work with my DLL, the version in the Astra SDK does work. Although the files look the same, there must be a difference somewhere.

For clarity:

  • Using v2.0.9 of both the Unity package and normal SDK.
  • My DLL is a native 64-bit library written in C++ with a C-style interface.
  • The Unity OrbbecBodyTracking.dll does work well with the normal scenes in the package (e.g. Assets/Scene/TestScene)
  • The SDK OrbbecBodyTracking.dll does work well with the normal scenes in the Unity package.
  • My DLL does not work with the Unity OrbbecBodyTracking.dll, but does work with the SDK OrbbecBodyTracking.dll
  • The solution to get my DLL working is to replace the OrbbecBodyTracking.dll from the Unity package with the SDK OrbbecBodyTracking.dlll.