You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Analyze command - Improvements in error handling and logging (#34)
* Modest improvement in error reporting and Archive handling
Check for Archives rather than trying to mount every file just in case it turns out to be an archive.
Unity Archives have a distinctive signature string at the start so we can pre-triage which files are actually Unity Archives.
The expected values were confirmed by studying the Unity parsing code and debugging the load of some files in the editor.
Output improvement - when erasing progress message move back to the start of the line so that errors are not printed at a random indent.
This is only a modest improvement because we still don't have some mechanism to predict if a file is a Unity Serialized File without attempting to load it and then failing.
* Analyze - summarize number of successful, ignored and failed files
Previously it was hard to tell if errors were shown whether anything actually had been analyzed.
Partial imports are normal until we find a way to reliably detect serialized files.
* Document more expected errors from Analyze
Mention errors that migth be visible (based on testing a folder with AssetBundles from different builds all being mixed together)
**Refer to this [documentation](../Analyzer/README.md#How-to-use-the-database) for more information
63
63
about the output database structure.**
64
64
65
-
Note: If a SerializedFile is built without TypeTrees, then the command will not be able to extract information about the contained objects. It will print an error similar to this example, then skip to the next file:
See [this topic](../Documentation/unity-content-format.md) for more information about TypeTrees.
73
65
74
66
### Example Input to the Analyze command
75
67
@@ -104,6 +96,44 @@ For Player builds there is no single -p option that can catch all SerializedFile
104
96
105
97
The `--no-recurse` option can reduce the volume of these warnings.
106
98
99
+
100
+
### Errors when TypeTrees are missing
101
+
102
+
If a SerializedFile is built without TypeTrees, then the Analyze command will not be able to extract information about the contained objects. It will print an error similar to this example, then skip to the next file:
The likely cause of these errors is the same serialized file name appearing in more than Player or AssetBundle file that is processed by Analyze.
126
+
127
+
This may occur:
128
+
129
+
* If you analyze files from more than one version of the same build (e.g. if you run it on a directory that contains two different builds of the same project in separate sub-directories).
130
+
* If two scenes with the same filename (but different paths) are included in a build.
131
+
* In a build that used AssetBundle variants.
132
+
133
+
The conflicting name makes it impossible to uniquely identify the serialized file and its object in the database, and makes it ambiguous how to interpret dependencies from one file to another.
134
+
135
+
The [comparing builds](../Documentation/comparing-builds.md) topic gives some ideas about how to run Analyze more than once if you want to compare two different versions of the same build.
136
+
107
137
## dump
108
138
109
139
This command dumps the contents of a SerializedFile into a file of the selected format. It currently
0 commit comments