Unity + Moverio BT-300
Hello there, I'm having problems in building the examples from the Unity SDK for the Epson Moverio BT-300 device. When the app starts, it stays in a black screen forever, Unity logo doesn't even pop. I've managed to install the Android version of the SDK and execute the demo succesfully with 2 glasses. I've tried to troubleshoot with THIS THREAD as well. I have followed the SDK installation guide and configured the engine to force OpenGL on launch and to use the OpenGLES2 api. I'm configuring the SDK to use the REAR camera, with a 720x1280 resolution and the Wearable Device option is OPTICAL SEE THROUGH. I'm using the device filter as ARMv7 option for the player settings configuration and building for the Android 5.1 as the minimum version. I've tried the 2017.3.1f1 and the 5.6.5f1 versions and both give me the same error. I don't have any more clues on how to make it work, is there anyone who managed to overcome this problems?
Here is the adb log
It then stays in black screen forever
Hello
If you set Optical-See Through mode in build setting, The screen is should be black. It is a fine result. Optical-See Through mode is a that deletes the background and augments the content only. (If you render the background together, it is confused with the real world, To make sure your builds are working well, set the License Key to Free and see if the Maxst logo appears on the bottom of the black screen.)
After wearing the BT-300, try to check the training object and see if the contents is augmented. The above console log appears to be output normally.
Thank you.
- MAXST support team
I think I have not made myself clear: it doesn't load any scene. It doesn't even load the unity splash screen. The first scene is the home menu, which should show an UI for selecting the demo's various scenes. But I see nothing (yet, the home scene is the first in the build configuration). The unity log presented above should have went on, displaying the other modules logging. But it freezes after loading the DLL.
It is very strange case because until the scene which has ARCamera starts our sdk's library doesn't be loaded also.
But your app didn't even show splash screen, right?
The final trying may be to make clean unity project that does not import our sdk package.
If you get same result then next step will be our task.
Anyway we will also try with your same environment (BT-300, Unity 2017.3.1f1) tomorrow(Here is midnight now).
Thanks for your waiting.
- Maxst support team
I guess there could be some issue with the x86 architecture of the BT-300, because:
-When changing to the FAT device filter (x86 + ARMv7) it loads the scenes, but the DLL doesn't ship with the APK correctly (logcat starts flooding MISSING MAXTAR PLUGIN messages)
-It works well if I use the same configuration to install in a mobile with ARM architecture
By my understanding, this could mean that the plugin ARMv7 emulation on the x86 is not working properly. Could it be related to the Android SDK? Should I setup for the NDK?
Oh, I think it might be usefull to know, its the R1.4.0 version of the BT-300 firmware
UPDATES:
Looks like cleaning the Maxst SDK won't fix the issue, so I'm thinking that's a Unity/BT-300 thing (weird enough, building the Android project example works, though it is ARMv7 as well). What's the enviroment you use for the test?
NEW UPDATES:
I managed to make the project (without the Maxst SDK) work by:
- Updating the image of the Atom emulator (on Android Studio);
- Setting the NDK;
- Compiling using the IL2CPP option (native building);
And then it didn't freeze. I don't know exactly what made it work, I have to make more experiments. Below the log of the version of the image that updated:
I will try the example in a moment
SMALL UPDATE: it doesn't work without the NDK/IL2CPP build, and it doesn't work with the Maxst SDK
YET ANOTHER UPDATE:
No luck, I've tried exporting to Android Studio and still nothing, and I've tried getting rid of the OpenGLES3 as the second option of the graphics api as well. Right now, I know 2 things for sure:
- To build with the ARMv7 option to the moverio, I need the NDK/IL2CPP (at least, it was the only way that worked)
- The Maxst SDK won't build with such option (below is the error)
I am out of options now. I heard downgrading the BT-300 firmware might work, but I can't afford this right now. I think I'll work with the pure Android version until something come up.
Hello
First of all, thank you for your interest in the Maxstar SDK.
The BT-300's Atom x5 processor uses the atom binary translator technique to use the arm library built into android. The Atom binary translator is a processor unit that converts a library with arm into x86. Therefore, to use a binary translator in Unity, you must set the device filter to ARM instead of FAT. (MaxstAR SDK does not support x86 library for Android)
We tested it in the following environment and confirmed that it works without any problems.
Unity: Untiy 2017.3.1f
Device Firmware: R1.4.0
SDK: 3.4.2
Here is a screenshot of the project settings.
To solve this problem, there is no way to tell us in detail how you set the project settings.(If possible, it would be a great help if you send us the project in question.)
Thank you.
- MAXST support team
I managed to have it work! But mine configuration was almost exactly like yours (only I was using OpenGLES2 as graphic api and the graphics multithreading option was checked). After configuring like this it still didn't worked. But after disabling the development build option and the script debugging option in the Build Settings it worked! So I guess I can't use the remote debugging option for Moverio unfurtunatelly. Thank you very much for the effort in helping me here!
This work
This doesn't
Hi,
It is very nice to hear that you made it finally!
Our team is always struggling with unity also because unity is very complex engine and it is hard to understand it well.
We are sorry for not solving your problem perfectly.
If you have another question or problem please post here.
Thanks
- Maxst support team