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

Hey, whether the sources are available?

Hey,

Sorry, the sources are not currently available. I am going to be putting them up on the asset store soon as a ā€œproā€ package for a price but itā€™s going to be kind of pricey ($400 - $500 - itā€™s mostly because Iā€™ve been contacted by some larger businesses who say they want source to anything they use in case the seller disappears).

I will be building some extensibility features into the tool in the future so end-users can hook into some things, like providing a custom console that you can control from Unity and run commands on the device etc.

Thanks,
Sam

Hey @ldhongen1990 , the port forwarding is actually working, but you canā€™t see the game because you canā€™t forward udp over the cable. Hdg Remote Debug use udp to discover instances on the local network. I think Iā€™ll add a manual connection option, so you can set up the forward with adb and then in the tool you can enter a manual address to connect to. I want to do an update with a couple of bug fixes so Iā€™ll try to get that in as well in the next week.

Iā€™ve uploaded some new documentation here: Hdg Remote Debug Those docs will also be available in the next update.

I thought Iā€™d also call attention to the ā€œRemote method triggeringā€ feature which I think I forgot to mention in the current documentation (itā€™s in the new docs linked above though). This feature lets you mark up a method with an attribute, and that method will appear in the tool as a button. Clicking the button will execute the method in the game. So like this:

    [Hdg.Button]
    public void RunMe()
    {
        Debug.Log("Hello, World!");
    }

Currently the method canā€™t take any arguments, but I hope to extend the feature to allow passing in arguments.

Awesome! Amazing! Beautiful! Delicious!

Just as an update - Iā€™ve sent off builds to some beta testers. Hopefully I get the all OK from them and I can then submit to the store by the end of the week. Coming in this update will be UWP support, lots of misc bug fixes, and an ability to manually connect to an IP address (so you can use ADB @Idhongen1990!).

Sorry itā€™s taken a while to get this update out. Iā€™ve had a bunch of other contract work on that made it hard to find the time!

Iā€™ve just uploaded a new build to the asset store, so hopefully it should be up and and available in the next week. The price has now been raised to US$60.

This new build contains quite a few bug fixes and some significant improvements:

  • Support for UWP platforms (e.g. Microsoft Windows Phone and HoloLens).
  • Support for connecting to a custom IP address, so you can use ADB port forwarding to connect over a USB connection to an Android device.
  • Support for serialising arrays of structs.

Iā€™ll post an update when the package has been approved in the asset store!

Hdg Remote Debug v2.0.3251 is live now on the asset store! You can get it here!

@samizzo
Looks cool.
When I modified attribute values of my GameObjects, how I can save these modified results?

Thanks @Dan2013 ! At the moment you canā€™t apply the modified values, but that feature is on the roadmap. Iā€™m not exactly sure how it would work because the current scene in the editor might not match the scene in the game. I think as an initial step I might just have a button to save the values to a text file while I work on finding a way to apply to the objects in the editor.

1 Like

Iā€™ve just released a version which is compatible with Unity 4.6.8 to Unity 5.3.1! Unfortunately there are some limitations in it due to a lack of certain API features in those versions of Unity. There is no way to access all the root GameObjects in a scene, and the only way to get all GameObjects is by using Resources.FindObjectsOfTypeAll. Unfortunately this also returns prefabs in the Assets folder and I havenā€™t been able to figure out a way to filter this out.

The workaround that Hdg Remote Debug implements is to check their activeInHierarchy flag; this is false for prefabs in the Assets folder. This also means that any objects that are disabled will not show up. There is a button in the toolbar called ā€œShow disabled objectsā€ which will show those disabled objects. Be warned however that this will also show the prefabs in the Assets folder, which could be quite a lot depending on your project.

You can get Hdg Remote Debug from the asset store here!

Iā€™ve recently added support for additively loaded scenes and DontDestroyOnLoad objects (previously only GameObjects from the main active scene would be shown). Once Iā€™ve improved the UI to look more like Unityā€™s hierarchy multi-scene editing in the hierarchy view Iā€™ll be pushing out a new release! Hopefully that will be coming in the next two weeks.

Just submitted a new build to the asset store which includes:

  • Support for additively loaded scenes.
  • Turning off automatic refresh (for scenes that have thousands of GameObjects which can be slow).
  • Various bug fixes.

The support for additively loaded scenes doesnā€™t include the UI changes I wanted to make, so the GameObjects from all the scenes will appear in one big list. The next task on my list will be to do the UI changes, but I wanted to get these features and fixes out there.

Hopefully it will be available in the store shortly!

1 Like

Hey @athibodeau unfortunately Iā€™ve had to remove support for DontDestroyOnLoad objects. That method you mentioned only works in the editor and not at runtime in a standalone build; at runtime the scene on my DontDestroyOnLoad object is the active scene but annoyingly the DontDestroyOnLoad objects donā€™t show up when you get all GameObjects from the active scene.

The new version is finally up on the store here! This update includes:

  • Support for additively loaded scenes.
  • The five most recently added custom servers now persist via EditorPrefs.
  • Added a button to turn off automatic refreshing of the hierarchy. If this is on the user must manually press the ā€œrefreshā€ button to get an updated list of GameObjects.
  • The inner exception is now logged when using the Hdg.Button attribute, rather than the generic ā€œinvoke failedā€ exception.
  • Misc other bug fixes.

Also thanks to everyone who has bought the tool and sent me feedback and bug reports!

Cheers,
Sam

Hi Sam

Thanks for the great tool. Unfortunately we make a heavy usage of DontDestroyOnLoad mainly on our managers (camera, input, etc) and we really need to tweak those (actually the purchase in the first place was to tweak input settings).

Like you, we have been stuck in DontDestroyOnLoad hell for a long time, before and after the new Scene Management system. Sometimes weā€™d just like to give up on that seemingly forever broken feature, but really we are left with no choice.

Iā€™d like to offer a simple solution thatā€™d avoid company like us being stuck. Why donā€™t you offer a simple API like DontDestroyOnLoad (your own DontDestroyOnLoad function if you will). In debug, weā€™d call yourā€™s at the same time as Unityā€™s. Itā€™d work for us at least :slight_smile:

Thanks in advance;
Laurent

Hey @sdpgames ,

Sure thing, I could do that. Itā€™s super annoying that thereā€™s no way to get the DontDestroyOnLoad objects at runtime and it seems that Unity are deprecating it in favor of using additively loaded scenes but I know a lot of people still use DDOL objects since theyā€™ve been a part of Unity for so long!

Iā€™ll add support for that and get a build submitted ASAP! Thanks for using the tool!

Cheers,
Sam

Ok Iā€™ve just submitted a build with that feature! To use it, after you call DontDestroyOnLoad call:

Hdg.RemoteDebugServer.AddDontDestroyOnLoadObject(this.gameObject);

If you ever destroy the DontDestroyOnLoad object, call remove:

Hdg.RemoteDebugServer.RemoveDontDestroyOnLoadObject(this.gameObject);

This is also detailed in the documentation (which you can also view online here).

Hopefully it gets through submission quickly! Thanks again for the suggestion!

Cheers,
Sam

Excellent, thank you!

Laurent

Hi Sam;

We have tried, now we have this exception when connecting to the game client: