Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

Reverse engineering Unity game from .exe file and _Data folder

Discussion in 'Editor & General Support' started by T-A-M, Apr 17, 2021.

  1. T-A-M


    Nov 3, 2017

    I was wondering if there was a method of converting .exe files and the files in the _Data folder back into project files, assets, and scenes. I made a game in Unity a little over three years ago, and was thinking of going back to patch some (fatal) issues. However, it appears that in edits shortly after I created my final build, I corrupted my project files to the point where, opening up the editor today, the whole thing is unusable.

    To have any chance at untangling this mess, I need to be able to start from the last functioning draft -- whether through unpacking that last semi-usable build or some other method. From other forums on this topic, people have said that reverse engineering a build of a unity game is POSSIBLE but not LEGAL. But since I don't have a binding EULA against myself, the legal issues should not be a problem. Despite this, I can't seem to find an answer on how to actually do it. Can someone help?

    Thanks a lot,
  2. Kurt-Dekker


    Mar 16, 2013
    Generally it's not possible. Data is lost (variable names, comments, etc) during the packaging process. Also many asset conversions result in irretrievable data loss.

    You might find more people who do this sort of thing on the modding forums to perhaps get you bits and bobs of the project out, but nobody here really hassles with that stuff.

    Please consider using source control in order to guard and protect your hard-earned work.

    Personally I use git because it is free and there are tons of tutorials out there to help you set it up.

    Here's how I use git in one of my games, Jetpack Kurt:

    Using fine-grained source control as you work to refine your engineering:

    Share/Sharing source code between projects:

    Setting up the right .gitignore file: