The dump command converts Unity SerializedFiles into human-readable text format. This is useful for inspecting the internal structure and properties of Unity assets.
UnityDataTool dump <path> [options]
| Option | Description | Default |
|---|---|---|
<path> |
Path to file to dump | (required) |
-o, --output-path <path> |
Output folder | Current folder |
-f, --output-format <format> |
Output format | text |
-s, --skip-large-arrays |
Skip dumping large arrays | false |
-i, --objectid <id> |
Only dump object with this ID | All objects |
Dump all objects in a file to the current directory:
UnityDataTool dump /path/to/fileDump to a specific output folder:
UnityDataTool dump /path/to/file -o /path/to/outputDump a single object by ID:
UnityDataTool dump /path/to/file -i 1234567890Skip large arrays for cleaner output:
UnityDataTool dump /path/to/file -sWhen you pass an Archive file (like an AssetBundle), the command dumps all SerializedFiles inside.
Example: For an AssetBundle scenes.bundle containing two scenes:
UnityDataTool dump scenes.bundleOutput files:
BuildPlayer-SampleScene.sharedAssets.txt
BuildPlayer-SampleScene.txt
BuildPlayer-Scene2.sharedAssets.txt
BuildPlayer-Scene2.txt
The output is similar to Unity's binary2text tool. Each file begins with external references:
External References
path(1): "Library/unity default resources" GUID: 0000000000000000e000000000000000 Type: 0
path(2): "Resources/unity_builtin_extra" GUID: 0000000000000000f000000000000000 Type: 0
path(3): "archive:/CAB-35fce856128a6714740898681ea54bbe/..." GUID: 00000000000000000000000000000000 Type: 0
Followed by object entries:
ID: -8138362113332287275 (ClassID: 135) SphereCollider
m_GameObject PPtr<GameObject>
m_FileID int 0
m_PathID SInt64 -1473921323670530447
m_Material PPtr<PhysicMaterial>
m_FileID int 0
m_PathID SInt64 0
m_IsTrigger bool False
m_Enabled bool True
m_Radius float 0.5
m_Center Vector3f
x float 0
y float 0
z float 0
Refer to the TextDumper documentation for detailed output format explanation.
PPtrs (Property Pointers) are Unity's mechanism for referencing objects:
| Field | Description |
|---|---|
m_FileID |
Index into External References list (0 = same file) |
m_PathID |
Object's Local File Identifier (LFID) in that file |
A null reference will have value m_FileID = 0, m_PathID = 0
The external reference table is used to resolve cross-file references. It always starts at index 1. m_FileID 0 is used for references within the current file.