Status of Unity Support?


#1

What version of Unity is currently supported? I’m running version 2018.1.1f1. and I’m getting the “Please Connect Structure Sensor” message that seems to have been reported quite a while back and was attributed to various version of Unity. The other apps work fine with the sensor so I know that it IS in fact connected. We have a big AR project coming up that relies on Unity support. Will I need to write my own plugin? Thanks for any information.


#2

Unfortunately, version 2018.1.1f1 isn’t currently supported.

We have tested and support the following versions of Unity:

5.1.3f1, 5.3.2p4, 5.3.3f1, 5.3.4f1 , 2017.1.1f1, & 2017.2.0f3


#3

Is there a recommend version of XCode? I’m having issues with native builds as well.

Thank you Anthony.

  • Mike

Mike Christian, CEO, From the Future - 940-395-2328


#4

Hmm, I haven’t seen any issues with the builds on my end using Xcode 9.4.

Which version of the Structure SDK do you have?

Which iOS device are you using with the sample applications?

Also, post a screen shot or any error message you are receiving, as these would be helpful too!


#5

Maybe I’m facing w/ similar problem.
I simply built StructureUnityAR/Samples/Simple/Scenes/Simple.unity​, but it crashed just after showing Unity splash image.
I wonder is the sample still supported?
If so, could you tell me how to fix it?

I’m using Unity 2017.3.1p4, Xcode9.3.1 and Structure SDK 0.8, and running the app on iPad Pro 12.9inch w/ iOS 11.3.1.
I could find some thread in the forum, and some people are saying that it’s better to run older version of Unity for Structure SDK 0.6 or so.
But I’m using SDK 0.8 and need later version of Unity because I’d like to combine it with the latest ARKit to test it’s accuracy comparing w/ Structure Sensor.
Thank you in advance.


#6

I got pointed to the Bridge Engine and it worked with Unity 2017.3.1p4. https://bridge.occipital.com/developers
It wants to also install Google VR, which is a little annoying but did not interfere with me building for iPad.


#7

It seems you are using Unity version 2017.3.1p4, which we have not tested with our Unity Packages.


#9

Thank you for your information.
If I can’t fix the problem soon, I’ll think about switching to Bridge.


#10

Thank you Anthony, I downgraded Unity to 2017.2.0f3, and built Simple.unity scene from the scratch, but no luck.
Am I still missing something?
I appreciate if you tell me which version of Xcode is supported if it’s needed.

Just in case, please allow me to paste the part of device log below:

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0

Filtered syslog:
None found

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001831892ec 0x183167000 + 140012
1 libsystem_pthread.dylib 0x000000018332a288 0x183327000 + 12936
2 libsystem_c.dylib 0x00000001830f7d0c 0x183095000 + 404748
3 libsystem_c.dylib 0x00000001830cc000 0x183095000 + 225280
4 ProductName 0x0000000105137de4 0x104dcc000 + 3587556
5 ProductName 0x000000010513b714 0x104dcc000 + 3602196
6 ProductName 0x0000000104df0fe4 0x104dcc000 + 151524
7 ProductName 0x0000000105115bf8 0x104dcc000 + 3447800
8 ProductName 0x00000001059bf0a0 0x104dcc000 + 12529824
9 ProductName 0x00000001053ee7e8 0x104dcc000 + 6432744
10 ProductName 0x00000001053f5330 0x104dcc000 + 6460208
11 ProductName 0x00000001053fa2a0 0x104dcc000 + 6480544
12 ProductName 0x00000001053fa4ac 0x104dcc000 + 6481068
13 ProductName 0x00000001053f96cc 0x104dcc000 + 6477516
14 ProductName 0x0000000105276c4c 0x104dcc000 + 4893772
15 ProductName 0x00000001053288a4 0x104dcc000 + 5621924
16 ProductName 0x000000010517b8f8 0x104dcc000 + 3864824
17 ProductName 0x0000000104dd8708 0x104dcc000 + 50952
18 QuartzCore 0x00000001877623c0 0x187756000 + 50112
19 QuartzCore 0x00000001878176fc 0x187756000 + 792316
20 CoreFoundation 0x0000000183690b20 0x1835bd000 + 867104
21 CoreFoundation 0x00000001836abae8 0x1835bd000 + 977640
22 CoreFoundation 0x00000001836ab230 0x1835bd000 + 975408
23 CoreFoundation 0x00000001836a8c80 0x1835bd000 + 965760
24 CoreFoundation 0x00000001835c8da8 0x1835bd000 + 48552
25 GraphicsServices 0x00000001855ab020 0x1855a0000 + 45088
26 UIKit 0x000000018d5a978c 0x18d28c000 + 3266444
27 ProductName 0x0000000104dd1610 0x104dcc000 + 22032
28 libdyld.dylib 0x0000000183059fc0 0x183059000 + 4032


#11

I was able to successfully run the StructureUnityAR Simple Sample

Have you looked at the StructureUnityAR Getting Started PDF? If not, here’s a copy: https://www.dropbox.com/s/tegqagci8je95eg/StructureUnityAR-Getting-Started.pdf?dl=0

In that PDF, it’ll give you directions on how to correctly build for an iPad device.

Mainly:

  1. Generating the Xcode Project
    a. To build and play Fetch, you’ll want to change your Build Settings .
    b. File → Build Settings… or “Shift + Command + B” to open the “Build Settings” window.
  2. In the “Platform” list, select “iOS” and press the “Switch Platform” button.
  3. Press the “Add Current” button, with the Fetch scene open. This will add the scene to the build, and the “Build Settings” window should now look as follows.
  4. Click the [ Player Settings… ] button under the “Platform” list.
    a. The player settings inspector panel, in the Unity Editor.
  5. In the “Resolution and Presentation” section, change the Default Orientation to Landscape Left , as depicted in the image below. (This is the optimal setting for the Structure Sensor attached to your iPad.)
  6. In the “Other Settings” section, uncheck “Automatic Graphics API”. This will give you an option tochoose your Graphics API. Only OpenGLES2 is supported right now; make sure it is added (if not, press the “+” button). Delete any other Graphics APIs listed by pressing the ““button while they are selected. Your graphics API settings should look like the image below.
  7. The Api Compatibility Level should be changed to .NET 2.0 rather than .NET 2.0 Subset
  8. Go back to the “Build Settings” window, and press the “Build” button. Unity will then ask you for a location to save the Xcode project it will generate.
  9. Pick a directory, then press “Save”.
  10. Deploying the iOS App
  11. Once Unity is done generating an Xcode project, it automatically opens the directory that contains it.
  12. First, connect your iPad to your Mac using a Lightning cable.
  13. Now, open “UnityiPhone.xcodeproj”.
  14. Press the “Run” button (or “Command+R”).
  15. If all goes well, then the Fetch game should automatically deploy on your iPad.

#13

Thank you for your very kind reply.
I checked the process and find that I forgot to do the step 8 & 9.
(Btw, I couldn’t access to the PDF on dropbox, and referred the one in the SDK 0.6)
Although I did it again as you suggested, both Fetch & Simple sample didn’t work correctly.
Now it does not crash, but only when I don’t connect Structure Sensor.
As I can play with Room Capture sample downloaded from App Store, it seems not because of hardware problem.

Could you tell me more about your testing environment including versions of MacOS, Xcode, SDK, and Unity?
If there are any additional settings for Xcode, Unity, or anything which you can imagine, please let me know.
For instance, do I need some firmware updates for the sensor?
Do I need developer signing certificate? (now I’m using distribution one for some reason)

Sorry for bothering again and again.
Thank you very much again.


#14

When building the Simple Sample yesterday, I used the following:

Unity: 2017.2.0f3
Xcode: 9.4
SDK: 0.8
MacOS: 10.13.4

Could you please let me know which IOS device you are building to and the serial number of your Structure Sensor?


#15

Thank you for the information.
It seems almost same here.
(Unity: 2017.2.0f3, Xcode: 9.3.1, SDK: 0.8, MacOS: 10.13.4)

I’m trying deploy the sample to iPad 12.9inch 2nd generation (MP6H2J/A) w/ iOS11.3.1.
The model and the serial number of the sensor are ST01 and 34204.

Hope these will help to solve the problems.
Thank you.


#16

I was able to get my hands on a 12.9-inch iPad Pro (2nd Generation) this morning and have confirmed that there is an issue with the structureUnityAR package when building for the iPad.

I have noted this issue to our engineers this morning.

Thanks for the catch!

Can I ask you what you are using the StructureUnityAR package for? Maybe you’ll benefit better by using our Bridge Engine?


#17

Thank you & your team for the continuous support.
Let me know when the issue is (likely to be) solved.
I’m using StructureUnityAR package for research.
I’d like to capture the 3D environment by the sensor as the ground-truth and compare it with another 3D reconstruction result w/ ARKit and deep learning.
Unfortunately, the iPad Pro is the only device which I have and can run ARKit.
(Actually, I also have an iPhone X, but I don’t have a bracket of the sensor for that and want to keep it for private use if it’s possible.)
I’m OK to try Bridge but afraid that it’s not fully compatible w/ iPad as it’s designed for HMD.
If it runs w/o problem on iPad, could you tell me what is the best way to realize the above plan?
Do you think which sample would be the good starting point for that?
Thank you again in advance.


#18

The Bridge Engine is compatible with an iPad, as both scanning and render can be done in mono (1 picture).

Why don’t you take a look at the Bridge Engine to see if it is something you can work with: https://bridge.occipital.com/developers

Any reason why you are using the Unity Packages in the SDK? You can easily build a room scanning app with the Room Capture Application sample in the SDK.

If you are interested in capturing a room or environment, I would also recommend taking a look at the Canvas App for scanning rooms with an iPad: https://canvas.io


#19

Thank you for the suggestions.
I checked Bridge Engine and found MR Example Without Google VR seems appropriate for my case since I only need capturing feature and the simpler the better.
(Long time ago, I experienced a conflict between Google VR and another SDK)
Do you think I’m on the right track if I go w/ Bridge?

I prefer Unity Packages since it would be easier to combine it w/ other things like ARKit and no need to think much about UI.
However, if I have no choice, I’m OK to use the native code of the SDK directly.

As I need to capture 3D by the sensor simultaneously w/ ARKit-based logging of 3D features and SLAM trajectory, just downloading Canvas App is not enough.

If you get any news about fix of structureUnityAR package for iPad Pro 2nd, please let me know.
Thank you.