Hdg Remote Debug - Live update / inspector for your phone!

Hdg Remote Debug is now available on the asset store! Get it here Hdg Remote Debug - Live Update Tool | Utilities Tools | Unity Asset Store

Hdg Remote Debug is a live update and debug tool for Unity 3D that lets you inspect the GameObjects, components, and serialized fields in your game after it has been deployed onto a device. It is an alternative to the Unity Remote that actually works! You can tweak fields on the live build while sitting in the Unity editor, and it’s great for quickly iterating on settings like UI layout and touch controls.

This tool is a great time saver when you want to tweak things on the device without having to go through the rebuild and redeploy cycle (which is particularly slow on iOS and HoloLens). It’s also a great help when debugging device-specific bugs.

Features

  • Simple to use.
  • Runs on most platforms that Unity supports (tested extensively in the Mac and Windows editor, and with Android, iPhone, and Windows 10 (UWP) devices).
  • Works with micro mscorlib!
  • Iterate on touch controls on the device.
  • Works with Unity free or Pro.

Workflow

  • Drop the provided prefab into your scene.
  • Build and deploy to your device.
  • Bring up the Hdg Remote Debug window by clicking on “Window > Hdg Remote Debug”.
  • Click the “Active Player” button and your device should appear in the list.
  • Select it and profit!

More information is available on our web site here:
http://www.horsedrawngames.com/remote-debug-live-update-of-unity-builds-on-device

Trello roadmap: Trello

Hdg Remote Debug is available in the Asset Store now for $60. Get it here: Hdg Remote Debug - Live Update Tool | Utilities Tools | Unity Asset Store!

2 Likes

This looks amazing! What a sweet time saver, and platform agnostic too! When will this be available? I WAN’T IT NOW!

1 Like

Thanks for the enthusiasm! I’m working on submitting it to the asset store right now, so hopefully in a week or two depending on turnaround.

I’ve posted some more information about how Hdg Remote Debug works on our blog here!

Hdg Remote Debug is now available in the Asset Store for a special half-price discount of $25 for the next two weeks! Get it here Hdg Remote Debug - Live Update Tool | Utilities Tools | Unity Asset Store.

Can Hdg Remote be used for debugging a client EXE in a multiplayer game running on one PC?
Example: I have a multiplayer game and am running the host for player#1 in the Unity editor.
The client is running on a compiled version of the EXE for player #2.
Can Hdg Remote connect to the client EXE so I can see what’s going on in the client in real-time?

Thanks.

Yes you can do that! You can place the Hdg Remote Debug server component in your game, build out to exe, then run. Then in the Unity editor, disable the Hdg Remote Debug server component before you run it in the editor.

You have to disable the component in the editor because you can’t have two debug server components running on the one machine because they would both try to listen on the same TCP port which is not allowed. I want to fix this by assigning a randomised port but I’m not sure how high priority this is because typically you wouldn’t be running multiple copies on one machine. But it sounds like your type of use case would benefit (e.g. if you ran more than two clients on the one machine).

Hope that makes sense, and thanks for your interest!

samizzo,
Does Hdg Remote have the capability to show the values from custom lists (e.g. a list of classes)?
How about arrays?

Thanks.
– Paul

If Unity can show it in its own inspector, then it should also show up in Hdg Remote Debug. That means that as long as your class is serialisable it should work. Actually I think there might be a bug where the List type is currently not working, but arrays work. List was working at one stage, so I need to investigate that; I think I broke it somewhere along the line!

  • Sam

Sam,
The lists I would want to display require a custom inspector in Unity.
Based on your response, Hdg Remote would not work with lists that require a custom inspector, correct?

Thanks.
– Paul

That’s right, unfortunately we can’t show custom inspectors. The class would just appear as a set of fields, just like it would in the Unity inspector if there were no custom inspector.

Just a reminder that the price of Hdg Remote Debug will be going up to $50 on Friday! Get in quick before the launch pricing special ends!

We’ve also got some great new features planned, like the ability to run methods on a component from the Hdg Remote Debug inspector. More details soon!

Sam,
It seems like a great product, but I typically spend the majority of my debugging time on edge cases with lists of classes.
If you ever add the ability to display a list of classes, I’ll buy it in a hot dang minute!
– Paul

1 Like

Can UI modification be seen with this asset.

Yep you can change many of the built-in Unity UI elements!

I’m leaving it at the discounted price for the moment, possibly for another week, while I fix some bugs for the next release!

  • Sam

This tool will be very useful for profiling: rebuilding a large game to test a small modification is a huge waste of time. May I suggest that you add the following features in a future iteration of your tool?

  • Multiple Selection: When profiling, one may want to disable multiple GameObjects or components at once. This would also be useful to modify settings on multiple components.

  • DontDestroyOnLoad: Although this has been (unofficially?) deprecated, this is still used a lot. Generally, this is used on managers (that have crucial settings that we might want to modify).* These objects should be inspectable.

  • Multi Scene: GameObjects in other loaded scenes (ex: additively loaded scenes) should be inspectable too.

*When DontDestroyOnLoad is applied on a GameObject, it is moved to a special scene that cannot be queried directly through the SceneManager. A workaround to get the scene, consists to move a given GameObject (ex: kind of singleton) to this scene by calling DontDestroyOnLoad on it. Then, you can use the scene property of the GameObject to get the DontDestroyOnLoad scene. From there, you can query the other GameObjects of that scene with GetRootGameObjects and loop through their children.

Thanks for the suggestions! I like the DontDestroyOnLoad idea, that’s a nice workaround. I’m working on some bug fixes at the moment to do with lists of user-defined structs. I’m hoping to release an update late this week, then I can look into some enhancements!

ADB Support will be nice, much like Unity Profiler, my office wifi is unreliable most of the time

Hey that’s cool, I didn’t know the Unity profiler supported a connection over ADB. Looking at the Unity profiler docs it looks like it’s just some adb command-line settings to forward a network connection over the ADB connection so it might not require me to make any code changes. I’ll look into it. Thanks!

I did some ADB forwarding but it didn’t seem to detect my device, let me know if you have a successful solution, really love to have solid low latency wired connection