Closed orangespoons closed 1 year ago
I have the same problems with the gamemanagers file. Moreover, it looks for additional files in the "library" folder, when all modern Unity games use "Resources" folder instead
It looks like you are not handling the typestrees file correctly. Try the following code:
nodes = trees[script.m_ClassName]
tree = obj.read_typetree(nodes)
or
from UnityPy.helpers.TypeTreeHelper import TypeTreeNode
nodes = []
for item in trees[script.m_ClassName]:
nodes.append(TypeTreeNode(**item))
tree = obj.read_typetree(nodes)
@JunkBeat Thanks!
Code
Error
Bug The absolute path of sharedassets0.assets was correctly passed UnityPy.load(), but the error message says that it is looking for assets in "C:/Users/USER/Desktop/bundle_mb/globalgamemanagers.assets". It's not the asset I wanted to load, and even trying to load it from where the main.py file is located, not from the game folder.
this example is too difficult for me. So, I manually dumped the typetree and tried to read the monobehaviour.
assembly_typetrees.json was generated using TypetreeGenerator (https://github.com/K0lb3/TypeTreeGenerator), command I use:
TypeTreeGenerator>TypeTreeGeneratorCLI.exe -p "C:\steamgames\SteamLibrary\steamapps\common\Monster Prom\MonsterProm_Data\Managed" -a "Assembly-CSharp.dll" -v 2017.4.40f1 -d json -o "assembly_typetrees.json"
If I move globalgamemanagers.assets to the folder where main.py is, The error message changes to:
so I create "library" folder and move "unity default resources" assets. error message changes to:
trees[script.m_ClassName]:
To Reproduce