Connection and touch input improvements


Several last weeks I dedicated to bug fixes and improvements. New features are coming in the future, but for now, I wanted to focus on the experience of existing users.


Touch Input remoting and simulation.

I've found a way to simulate touch input in the Editor. Unity 2019.3 introduced a new private Input.SimulateTouch() method that gives the ability to simulate touch in Editor. After a lot of trial-and-error, I came up with a solution that inserts a custom PlayerLoopSystem into UnityEngine.LowLevel.PlayerLoop to simulate touch. Also, it was required to read a mouse position from Event.current.mousePosition instead of Input.mousePosition because calling SimulateTouch is overriding Input.mousePosition. The solution turned out to be very hacky, but on the upside...

What has changed for users?

Previously it was required to add this line on top of every script that used UnityEngine.Input:

using Input = ARFoundationRemote.Input;

Now, this line is not needed anymore. Moreover, touch input remoting now works with UI systems (old, new, you name it).


Connecting AR device to Editor.

There were a lot of problems with Unity's built-in PlayerConnection/EditorConnection. It's great when it works, but there are many edge cases that break device-Editor connection. Some of them are:

- Connecting Android adb tool will break the connection between Editor and AR device;

- Wired connection will not work after restarting your PC, only Wi-Fi connection will work;

- It's impossible to build AR Companion app on one computer and connect it to another one;

Connecting the AR device to Editor is the main feature of the plugin, but until now it was the weakest point. EditorConnection suited well as a jumpstart, but the time has come to make a transition to a custom networking solution.

I'm very grateful to guys at vis2k for developing the Telepathy TCP library. With its help, I was able to replace EditorConnection in a matter of hours.

https://github.com/vis2k/Telepathy

What has changed for users?

It is now needed to enter device IP in plugin settings after making AR Companion app build. The app will display its IP so you don’t need to go to Wi-Fi settings to know it.

Now it’s possible to build AR Companion app on macOS and continue development on Windows machine.


Other improvements: 

- Universal Render Pipeline support.

- Light Estimation ambient spherical harmonics support.

- Liner color space support.

- AR camera background video now works with all versions of AR Foundation.


Bug fixes: 

- Fixed mirrored camera in Face Tracking on Android.

- Null reference exception when creating an empty runtime image library.

- Fixed Unity Editor crash when running on OpenGLES3 with AR Foundation < 4.0.2.

Get Unity: AR Foundation Remote

Buy Now$80.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.