Which files in a Unity Android build are specific to the actual game

Hello all,

I understand that when my Android Unity project is compiled, it is compiled into a set of libraries, and supplied with a set of Java and Android wrappers to be able to call them.

My question is as follows:

Let’s say, that I want to make an Android app which contains many games. I want to replace one game with another based on some parameters. Which of those library files should I change to change the game?

There are many files that are created, for example:
libmain.so
libmono.so
UnityEngine.dll
generalgamemanager

There is also the jar file: unity-classes.jar

And many other files.

My question is, which files are general Unity files that are the same for every Unity project, and which files contain game-specific data, that if I replace with the files from another game, I would play the other game?

If anything in the question is not clear please ask me to elaborate.

Thank you for your efforts.

Regards,

I found the solution, but I’m not sure if it is 100% correct. Please if you know better, correct me.

I created two simple projects with basic assets and simple scripts, then I exported them into Android projects, and used the diff command to find the differences.

I found out that the files that were different were all the files in the assets/bin/Data folder, except for the Managed folder, where only Assembly-CSharp.dll was different.

So I went ahead, I replaced all the files and folders in the assets/bin/Data folder of the first project, with those of the second project, but I kept the Managed folder the same and only replaced Assembly-CSharp.dll

The result when I ran the first project on my Android? The second project showed up :slight_smile:

So to sum up, if you want to replace one Unity game with another in an Android project, you need to replace the following:

  • assets/bin/Data/Resources folder
  • assets/bin/Data/globalgamemanagers
  • assets/bin/Data/globalgamemanagers.assets
  • assets/bin/Data/level0
  • assets/bin/Data/settings.xml (even though I don’t think it needs to be replaced)
  • assets/bin/Data/sharedassets0.assets
  • assets/bin/Data/splash.png (well…)
  • assets/bin/Data/unity default resources (Well that one wasn’t different between the two projects, but I cannot confirm if it will always be the case)
  • assets/bin/Data/Managed/Assembly-CSharp.dll

@Abboodd I have question regarding this , You have replaced the file in assets folder. Is there way that we can load these files in bin/ folder from SD card rather than assets folder inside the apk.