Is there an upgrade in the works? There are a few areas which I’ve noticed that could be improved.
Curious about this too.
I would love Unity to bring back wifi connection from earlier versions of Remote. Sometimes it is handy to not have to clear a USB port, and will be especially true of some laptops that have few ports.
+1. At least it should have proper full screen support on newer iOS devices.
Yes Wifi remote please!
Why was everything better in the past?
The current Unity Remote has not been updated in quite some time and can be quite frustrating to work with at this point. Overall, we are spending a lot of time trying to improve iteration times, especially on mobile devices. We started a few different efforts to improve this and one of those efforts was focused on the Remote, but it sort of lost out as we saw more promising results with other tools. I’m curious to hear how you were using the Remote, and if there is still a hole there, even with these other tools which I’ll try to briefly introduce.
My personal understanding from working with the Remote is that it is useful really in 2 ways:
- Seeing your app running in the correct resolution on device. This is useful to check out the layout of everything, the scale and readability of text, etc.
- Input. Using input on a desktop development machine is typically very different from the touch screen on a phone, so it is useful to actually be able to interact with your app on a phone (for example).
We think #1 is actually better solved with the Unity device simulator. This is a package that can be downloaded via the package manager in the Editor, version 2019.3 and later. In the simulator, your app is rendered in the Editor at the resolution of the simulated device. It is not as good in that you are not running on the actual device, but it is better because you can simulate multiple phones/devices. There are different profiles available in the tool that allow you to quickly check out how things look on the iPhone 7, 8, 10, and on the Samsung S8, S9, S10, and so on. The list of available devices is long and is growing, so you can probably check out a lot more devices than you would be likely to purchase and use with the Remote.
#2 - Input - is the problem that is still not fully solved with any of our options. With the Remote, though, there is a fair amount of latency especially with input because we had to capture that input, send it to the Editor, a new frame was rendered in the Editor, then those results were streamed to the phone, where you could actually see the result of that input. This worked well for menus and simple input, but for fast-moving, latency-sensitive games, we felt the results just weren’t very helpful. In addition, the Remote only supports the “old” input system and does not support the new input system that is becoming more widely used with 2019.3. Low-latency video streaming and low-latency input are problems that can be solved / greatly improved, but they are hard problems and require a significant amount of time to do well.
Obviously, with input, you can install your whole application to device and then test there, with slow iteration. This is of course still a solution. We do now have some other tech/ideas that can help with this slow iteration workflow. These aren’t specific to input, but they may help depending on exactly what you’re trying to do:
- You can rebuild just the scripts of your application and download those quickly and iterate. This is now a build option.
- For large apps, where these iteration times are painful, some developers are leaning on asset bundles and addressables heavily to limit the size of the base application. This can greatly improve iteration times.
- Build a simpler test level - not your whole app - so you can iterate quickly and test out any new input-related ideas that you have before adding them to your larger app where it is slower to iterate.
- LiveLink. There is a huge effort at Unity to support LiveLink. While this is initially focused on newer tech like DOTS, there are more and more scenarios where this is becoming useable. LiveLink is related to connecting the Editor to a running game, being able to edit properties in the Editor, and have those changes reflected in an already-running app.
Usually when I talk to people about this issue, they try out the simulator and agree that it is better and solves most of what they wanted from the Remote. Please start there and let us know what iteration pain points are left.
Here is a link to a blog post about the Unity device simulator: https://blogs.unity3d.com/2019/09/27/speed-up-mobile-iteration-with-the-new-device-simulator/
Yes input, the accelerometer and the touch gestures. Simulator is not a replacement for input testing those.
And the usb cable connection is not great because I always loose connection on my iPhone, wireless is so much better. and installing on the device is taking a very long time. I used unity 3.5 back in the the days and was play testing wireless via remote all the time. It’s a serious miss not to have this.
I would like to see an overall update to the remote.
I’m using the Unity Remote on my iPhone which is mounted in a VR headset. The Unity Remote is invaluable in this regard, but I am noticing it crash the whole editor. If you could just fix the crashing that would be enough for my use case. The crash seems to happen when I resize the game view. Also when I assign a custom resolution to the game view, such as iPhone Wide, same crash happened. I’m on macOS Catalina. The crash freezes up Unity and I have to re-boot my computer in order to fix it.
Thanks
Remote is essential for me to test touch controls. The old remote had an option to not mirror the screen content and just respond to the touch. That solved the latency problem. An option to not show the screen mirrored in remote 5 could help. Remote is an essential part of mobile development testing and offers fast iterations and is intuitive. Testing smaller sample scenes isn’t practical because I need to see how touch works in my actual game. I use it regularly in the development of wilderless so I hope there will be an update or at the very least remote will not be Deprecated. I cannot imagine testing on mobile without it.
I’m not sure why I would use a device simulator. I can easily see how my game looks on different devices by selecting the appropriate drop down game screen size or aspect ratio. It’s less complicated and instant and built into unity.
Yes agreed, input only mode was another great option.
Unity remote is the most important tool for mobile development in the Unity arsenal. Without it it’s almost impossible to iterate on touch and gyro controls in a meaningful way, and this would result in games that feel decidedly less polished. Unity remote is used by everyone on our mobile projects- It’s a tool that bridges the gap between PC development and mobile so that iteration times can be on par. This is incredibly important.
For remote the current latency is annoying but not a deal breaker, non-native resolution is annoying but not a deal breaker.
As an example, I’ve been working on some large AR projects recently and not having remote available to iterate has been absolutely awful. I’ve seen what Unity mobile development without remote is like- and it’s absolutely worse. If Unity Remote support is dropped before something has been built to replace it your product will have become significantly less useful.
Unity remote offers near instant iteration times vs 1-10 minute build iterations. This is a much bigger difference than it sounds like when you are actually making games.
Even if you improve the build cycle times, on a large project you will still add a gulf of time between iteration cycles as compared to Remote. You develop code entirely differently when you can’t instantly test something.
- Editor: Mark unity remote as deprecated inside ProjectSettings->Editor
Seems its getting deprecated
Thanks for sharing this
I understand depreciations, but can an official from Unity please let us know if there’s a replacement, because a remote is an essential pipeline tool for mobile, and I can’t imagine testing mobile games without one. It’s one of the features that drew me to unity in the first place. I’d appreciate a heads up about the replacement so we can plan accordingly, and for peace of mind.
- Simulator is not a solution for input
- live link, don’t know how to use it
- new input system, its still in development
So it seems until live link is able to process input and is easy to setup we are out of luck
@michaelberg Is there any documentation about LiveLink? I’d like to learn more about it.
This is what I could find
I can appreciate what unity is trying to do here. But I have reservations. it looks like you need to actually build your app to test it via live link, is that correct? It seems like a product to serve a separate purpose than what Unity remote does.
I think unity remote workflow is perfect, just change some of the solid, workflow-relevant suggestions mentioned in this thread. Or even at the very worst, leave it in rather than eliminate it altogether. And if its going to be replaced then do a new version of the same simple workflow because it just works - no installations, no extra steps:)
None of these options appear to be a replacement for Remote. Live Link looks to be a great and welcome feature, but it does not appear to allow for quick code iterations and is thus not a replacement for Remote. I’m sure this is something Unity is aware of, but because of how important Remote is to my workflow I feel it bears repeating.
As a side note about the resolution and performance issues seen in remote:
Oculus Quest now streams 72Hz ultra high resolution video from a PC to a mobile based device over USB 3 - including low latency input back to the host machine. If desired, Unity Remote could be fixed to show near-native like performance.