Unable to stream from Unity to XR Remote app on Android - unity3d

I am not able to make XR Remote stream data from Unity to the app. I downloaded 8thWallXR-Demo project for Unity and did all the necessary stuff in tutorial, but it still doesn't work. I also followed troubleshooting instructions (restarting the ADB), but nothing worked.
When I start the app, I can see both USB and the name of my PC (Wi-Fi connection). If I select USB, it shows "Waiting for USB" infinitely, and if I choose Wi-Fi connection, the title changes to "-529". I guess they are connected somehow, but they cannot establish streaming connection.
The weird thing about this is it works properly on my second computer at work. So I really don't know what could cause the trouble.
I use Windows. Both XR tools and phone app are updated.

I solved the problem. It is most probably a Unity bug. I opened Edit -> Preferences -> External Tools. In "Android" section, there are five checkbox options.
I unchecked the "Android NDK Installed with Unity (recommended)" checkbox. After that, I clicked Browse button, which automatically filled in path to NDK.
This made XR Remote stream work properly. However the weirdest part about this is it actually works even if I check that checkbox again.

Related

Remote Machine IP disappears when entering Play Mode (Unity/Hololens)

I'm working with an XR Unity project (2019.4.26f1) and I'm trying to deploy it on the HoloLens 2. I've managed to build the project and to run it in the HL from Visual Studio by cable but I need to be able to see the app in the HL when I enter on the Play Mode in Unity.
I've followed some tutorials like this one and I can do every step but when I get to the step of writing the IP in the Windows Mixed Reality window, a problem appears. When I hit play to go on Play mode, the IP disappears, and I receive an error because the Remote Machine Address is not set. Why is this happening?
I have something like this, with the IP of the HoloLens in the field, the HL are ON and with the HoloRemoting app running. I can access this IP by browser and see that the status is "Connected" and see Live footage of the Lens camera.
However, when I hit "Play", the IP disappears and I get this error.
Atempting to initiate remoting connection with no valid machine name
set. UnityEditor.EditorApplication:Internal_PlayModeStateChanged
(UnityEditor.PlayModeStateChange)
Due to potential compatibility issues, it is highly recommended to upgrade your Unity version to 2020.3.31f1 with the latest Mixed Reality OpenXR plugin. You may refer to the document on Choosing a Unity version and XR plugin - Mixed Reality | Microsoft Docs.

"Error DEP6957 Failed to connect to device using Universal Authentication" when deploying Unity app to Hololens emulator

I've been working in a Unity app with Hololens emulator in Visual Studio 2017 in Windows Pro, and it was working great until last night where I started to get the following issue every time that I try to deploy my application into the Hololens emulator:
Error DEP6957 : Failed to connect to device '[device_ip]' using Universal Authentication. Please verify the correct remote authentication mode is specified in the project debug settings.
I've tried to do the following things without success:
Clean/rebuild solution
Checked 'uninstall/install' checkbox in the UWP project settings
Deleted Hololens virtual machine
Uncheck/check Hyper-v feature (and restart PC after each try)
Restarted computer
No luck. Sometimes, I am able to make it work, but after 30 seconds to 1 minute, the hololens emulator gets frozen and then it closes itself; again, this was working fine until last night, and I have not installed anything different, unless an automatic windows update did something. This happens with all the applications, and they run just fine in the Unity player.
I would appreciate your help on this, I just don't think the only solution is to uninstall/install Visual studio and all its components, it makes no sense, since everything was ok.
Thank you.
UPDATE
I've just noticed that if I connect the laptop to the internet by using an ethernet cable, it works, it only fails in WIFI, have you seen that before? I also have another UWP that I deploy remotely to a raspberry and it also works only with ethernet, but both of them were used to work in wifi? any idea?

emulator broken: This adb server's $ADB_VENDOR_KEYS is not set

Well a windows 10 update broke sleep, the computer went to sleep with the emulator open and now that's broken. When I run an app to launch in the emulator it will boot the emulator but won't install just time out. When I try and run an app into a running emulator instance Studio says:
com.android.ddmlib.AdbCommandRejectedException: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
Error while Installing APK
I've followed some of the other threads here. I've tried changing
the environmental variable in control panel, but in fact I think it
pointed to the right place originally, where the sdks are these
days.
I've tried restarting the PC. I did try deleting a couple of
adb files, that didn't work.
I've tried deleting all the sdks and
downloading them again.
I've tried uninstalling and updating Android
Studio, several times. Now on AS 3.1, still not working.
Bit of a nightmare really.
How do I set the vendor keys? Using AS console commands? Can anyone point me to a dummies guide, this is a bit of a tangent for me, wish I could fix it from the GUI.
The working fix for this particular issue is to enable Developer options on your emulator and enable "USB Debugging".
OK so eventually downloading a nexus 4 x86 image android 27, with no play store worked. Sorry if this is repetition. Long live working emulators
Combining answers from here and there gives an answer that also worked for me in IntelliJ IDEA. I assume the issue is the same, since the emulator and AVD is the same.
Option 1:
Restart the emulator from AVD
Option 2:
Wipe the emulator data
Option 3: Stop the emulator. Then make sure it is up to date and try again.
If it still does not work, restart the adb server and retry.
adb kill-server && adb start-server
If it still does not work, perhaps your adb is out of date... somehow. This was the case for me. Running the following fixed that for me.
adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
emulator-5554 device
If it is now working for some emulators but not newly created ones, take note of the message in the emulator selection box: "Press Ok in the Allow USB Debugging Dialog"
Sadly, there is no such dialog. So go and enable Developer Mode in the settings of your emulated OS by tapping the Build Number several times. Then go to the Developer Settings and enable USB debugging.
After recent upgrades of emulator, the virtual device*) stays unauthorized. When I cold boot the emulator, sometimes I see the expected confirmation dialog, but this dialog goes away immediately, leaving no chance to click 'OK'.
We're aware of this problem and plan to fix it soon.
* Here, I was running x86 with API 28 and Google Play on Windows 10. I don't know which other scenarios are effected.
For anyone who might encounter this in the future -- I mean the ultimate issue of receiving the error, "This adb server's $ADB_VENDOR_KEYS is not set" despite not having any (or any sufficient) opportunity to click OK...
Resolution: In the Developer Settings, select the option to, "Remove existing authorized adb keys on device." Repeat the previous action -- the prompt will once again appear, as if the very first time.
-Mike
Go to developer options in your device and click on 'Revoke USB debugging authorizations'. Disconnect and reconnect your device. You'll get a prompt on your device to authorize your computer to connect to your device. click on 'OK' and your set.
Basically, the authorization key has gone out of date or it's no longer present. So, we just have to set a new autorization key and revoke the old ones.

Can I use Unity remote with a Android emulator instead of Android phone?

Unity Remote is good app. It allows to connect with Unity while you are running your project in Play mode from the editor.
But what if I want to test game but I don't have an Android phone? Yes, it happens ¯\_(ツ)_/¯
I have a great Android emulator: Nox APP Player
The emulator doesn't have USB, so it just show me standsrt text Connect device with a USB cable ..... bla bla bla ...Game in the Unity Editor is running...emulator doesn't display the game.
Can I somehow connect this emulator to unity using Unity Remote? Or using something else? How?
Not sure if you still need the solution for this problem, but I think I should leave an solution for those who come later.
You can connect Nox with Unity via UnityRemote (I'm using Unity Remote 5) with the adb of Nox. Here the steps :
Rename your adb.exe to other (i.e adb_origin.exe). It's normally located at SDK folder\platform-tools
Go to Nox installation folder\bin, looking for nox_adb.exe, copy it to the location of your origin adb.exe
Rename nox_adb.exe to adb.exe
Open cmd and enter : adb.exe connect localhost:62001 and you will see "already connected to localhost:62001". If not, you can try replace localhost by 127.0.0.1
Then apply steps 3 → 7 of #Alexey
At the Resolution dropdown, you can choose Normal (default is Downsize) to have better image quality on Nox
Note that after all of this, you should restore the origin adb.exe for later use.
Here is my result picture :
Hope this will be useful.
Took from https://gamedev.stackexchange.com/a/126192/81175
I was able to run Unity Remote 4 on standard Android emulator.
Final effect looks something like
Whole procedure:
Install Unity and open some Unity tutorial project (2D Roguelike tutorial in my case)
Install JDK, Android SDK and setup Android emulator using AVD Manager.
My emulator config looks like this:
Important note: CPU/ABI option seems to be one of most important ones(Intel x86 emulator didn't work for me)
Then install Unity Remote 4 from apk file to emulator using command: adb.exe install path/to/apk (Windows) or adb install path/to/apk (Linux/Mac).
Then in Edit → Preferences → External Tools — set paths to Android SDK and JDK
In Edit → Project Settings → Editor in section Unity Remote select: Any Android Device.
In File → Build Settings — add Your scenes and switch platform to Android.
Press PLAY in Unity while Android Emulator is running and Unity Remote 4 app is opened.
Tip: At first I needed to restart unity after all changes, because it wasn't starting game on emulator. Now it runs everytime.
However, it works for AVD Manager emulators. I've tried them too, before I asked the question, and they didn't work because of CPU/ABI Intel x86 as #Axxxon said...now it works with CPU - ARM armeabi...
Unfortunately NOX APP PLayer doesn't connect. Maybe it because it's not have CPU/ABI settings. Or I just don't get how to launch this player with Unity.
It is said. Because NOX APP has touch simulating, screen shaking and other good stuff for checking game. AVD emulators doesn't have these things :'-( therefore they are useless for me.
But maybe this answer will help to someone.

Eclipse Doesn't Recognize my Android Device

I have the samsung galaxy tab, when I plug it into to eclipse to run and debug my apps. Eclipse doesn't recognize the device. When I try it with my friend's Droid 2 it still doesn't work. Can someone please help me?
If you are developing with Windows, you might need to install the USB driver for our device. For Windows 7, here's how you do it:
To install the Android USB driver on Windows 7 for your device:
Connect your Android-powered device to your computer's USB port.
Right-click on Computer from your desktop or Windows Explorer, and select Manage.
Select Devices in the left pane.
Locate and expand Other device in the right pane.
Right-click the device name (such as Nexus S) and select Update Driver Software. This will launch the Hardware Update Wizard.
Select Browse my computer for driver software and click Next.
Click Browse and locate the USB driver folder. (The Google USB Driver is located in \extras\google\usb_driver.)
Click Next to install the driver.
Check this link for more information if you need it.
Have you tried:
Settings -> Applications -> Development - Enable USB Debugging
In android 4.2.* The “Developer Options” menu item is gone!
Answer: The “Developer Options” menu item on 4.2.* is hidden.
Goto Settings -> About Phone.
Goto “Build Number” at the end of the Scroll list.
Tap on “Build Number” repeatedly (7 times). On your third tap you should see message indicating that you only have 4 more taps to go to ‘become a developer’.
Continue: 4 more taps.
Hooray, you are now a ‘Developer’, go back to the Setting page.
You should see Developer Option menu item in your setting list now.
Open Developer Options and check USB debugging > Ok
****it's work for me****
Reference : http://www.wugfresh.com/faq/how-do-i-enable-usb-debugging-on-android-4-2-the-developer-options-menu-item-is-gone/
download the samsung software Kies .it detects samsung deivces
Go to http://developer.android.com/tools/device.html and follow up
this solution worked for me
In addition to Settings -> Applications -> Development - Enable USB Debugging, click on the following option:
Revoke USB debugging authorization
And then plug the device again.
Addition to Tor-Morten's answer: Only checking the Developer setting for USB debugging may not be enough. The USB connection setting (Android 4.4: Settings -> Storage -> Option Menu -> USB computer connection) needs to be checked for either "Media device" or "Camera" before it will be shown in Eclipse's Android Device Chooser window.
Maybe its a matter of how you plugged the device onto your computer. I'm using a mac and pluged the usb into one of the keyboard slots. It doesn't find anything even you've installed Kies with all its new drivers.
After plugging it directly into one of the slots at the computer the device has been recognized imediately.
Even it is a beginner mistake....maybe it helps :)
This is a fairly common problem. You basically don't have the drivers you need for USB debugging.
There are a few different ways I've had to obtain drivers for phones. The first way you should attempt is to go into the Android SDK and AVD manager and download the Google USB driver debug package.
This may or may not give you the driver you need. If it doesn't you will have to do one of two things. One, add the device details to the driver file you just downloaded. Generally these will be posted on forums/boards discussing your phone type. Secondly, you can download a different driver from another source like the phone manufacturer.
Make sure your account has admin privileges. I installed my Motorola drivers without elevating, and although the install ran smoothly it never associated them to the device. Once I ran as admin, worked like a charm.
Ι had the same problem:
While i had activated the debugging options on my phone (Samsung Galaxy S Duos Black), eclipse couldn't find the device because the usb drivers failed to download or something and so in the Device Manager (win7) i saw only Android and CSC something, all yellow and with no installed drivers.
I tried to download the Samsung drivers manually, but this failed to work.
What REALLY worked was downloading+installing Samsung Kies, connecting my device through usb and at first it failed again to put the drivers, then i disconnected the device, pressed some troubleshooting errors button that was on the main screen (NOT the lite version, the normal one), that took some time, re-connected the device and voila, the drivers were installed successfully and both the Device Manager and eclipse recognised the device.
If you are on Linux you can try on terminal the following steps. Don't forget to have your device plugged in. Use sudo if doest work.
adb kill-server
adb start-server
adb devices (see if device is recognized)
I had the same problem with my LG G3 phone.
I tried to re-install the driver as explained here: http://developer.android.com/tools/extras/oem-usb.html
Nothing helped. Fortunately on the very same page I have found the link to LG firmware site: http://www.lg.com/us/support/software-firmware
So I did the following:
Connect the phone to the PC using the USB cable
Uninstalled the Google's USB driver (My Computer->Management->Devices->Portable Devices->MyPhone: uninstall)
Download driver for my LG G3 phone (LG885) from the LG site
Install this driver
Got on the phone screen request to approve the new RCA key and allow debugging.
Try to Run an Android project in Eclipse.
PROBLEM SOLVED.
I Had the same problem.
I saw that the product was correctly defined under Device Manager, but Eclispe did not show the product in the target.
The easy way was to install Samsung Kies and to see that the following command:
...eclipse\adt-bundle-windows-x86_64\sdk\platform-toolsadb\adb device
gives me some output instead of only "List of devices attached".
once it recognizes the product, use "run configuration" choosing target "Active devices" under "Launch on all compatible devices/AVD's" radio button.
still, you don't get the product on the list as expected but it works.
Good Luck!
I had the same problem on windows with my samsung galaxy device .. installing samsung kies solved the problem for me.
I had loads of problem getting this to work when I switched to a new computer.
I downloaded and installed Kies, but Windows 7 still didn't recognize my device.
My problem was the proxy my company use, Kies tries to download USB drivers in the installation, but fails silently and finishes the installation.
You might have this problem if your USB Driver folder in the installation is empty (i.e C:\Program Files (x86)\Samsung\Kies\USB Driver).
Solution for me: install Kies without a proxy.
Unload EasyTether extension.
This worked for me - look at the part about unloading the EasyTether extension. adb not finding my device / phone (MacOS X) I was able to connect my samsung galaxy note 2 to macbook pro snow leopard.
Download new USB driver for samsung/pc connection here:
http://developer.samsung.com/android/tools-sdks/Samsung-Andorid-USB-Driver-for-Windows
After enabling developer mode and USB debugging of course.
The phone should ask to accept the pc location as secure after USB driver upgrade.
Installing KIES did not fix the problem on my Galaxy Note 3.