Have a look at any .assets properties of your RMS1 installation in a text editor. You should see the Unity version within the first bytes, e.g. 2019.2.3f1.
Go to Unity download archive (https://unity3d.com/get-unity/download/archive), download and install the correct version of Unity Editor. You'll find the windows players in [unity-install-dir]\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_development_mono\...
Make a backup copy of your RMS1 installation! Copy the debug build Data […\Variations\win64_development_mono\Data] directory to your local [RoboMaster_Data] directory, overwriting everything in it.
Copy the WindowsPlayer.exe + UnityPlayer.dll + WinPixEventRuntime.dll, and rename WindowsPlayer.exe to RoboMaster.exe.
To enable (.NET) debugging, you have to edit the file [RoboMaster_Data\boot.config] and add the following line: player-connection-debug=1
Make sure to use the original mono-2.0-bdwgc.dll, not the patched one we used in my first tutorial!
If you followed my steps correctly, the RMS1 app will now start as Development Build:
In dnSpy (or Visual Studio) you are now able to connect directly to the Unity process -> Attach to Process (Unity) within the debug menu:
In one of my next tutorials I will provide additional information how to generate the .PDB file for the Assembly-CSharp.dll Have fun and keep on hacking the RMS1 until DJI will provide proper documentationm and a SDK!
Cheers!
|