UnityDataTool Updated

In recent months we have been improving UnityDataTool and adding more capabilities for analyzing Unity build results.

The project now includes Windows and OSX builds ready for download. We will do new releases periodically as fixes and features are added. The most recent build is 1.3.2.

Recent improvements include:

  • A “serialized-file” command that lets you look at the content inside Unity SerializedFiles
  • More comprehensive documentation
  • Better error handling and reporting for the “analyze” command (although still more work to do)
  • Support for analyzing BuildReport files (and Addressable buildlayout.json files)
  • Support for MonoScripts (showing info about MonoBehaviours and ScriptableObjects in the build)
  • An AGENTS.md to aid in AI assisted use and development

We continue to support reading content from older versions of Unity and are updating it to include support for Unity 6.5 and beyond.

I’m also curious to hear how you are putting this tool into use. While we cannot guarantee bug fixes or offer official support, we would like to continue to improve the usefulness of this tool. Feel free to log issues in the github project, or discuss the tool in these discussions.

Tip: AI agent tools like Claude and Cursor can help with the use of UnityDataTool. Make sure you have UnityDataTool and an sqlite cli tool in your path. Then point the AI agent at the git repo or documentation folder and it should be able to help you make the best use of UnityDataTool to look at the results of your Unity builds. For example it can help you perform an analysis, query information out of the sqlite database and present results in a convenient format. Please share your findings trying out this kind of AI assisted workflow as well!

4 Likes

Is this tool packaged with the editor installation? e.g: suppose i want to write an editor extension that can analyze certain Unity files - can i rely on it being available, or do i need to add it myself / create a library that links against it to get the functionality ?

Unity ships with builds of the underlying UnityFileSystem library. That is the library that the UnityDataTool command line tool uses to load and read Archives and Serialized Files.

But the actual command line tool, which adds a lot of functionality built on top of that low level API does not ship in Unity. We’ve talked about possibly adding it in the future. At the moment the benefit of it being a project on the side is that we can make fixes quickly that impact all versions of Unity.

1 Like

Does the CLI support multiple platforms? e.g: can i run it on linux / mac / windows ?

Yes. Currently we build Windows and Mac directly on github. But AFAIK there is nothing preventing it from also building on Linux if the correct dotnet is installed, i just didn’t know enough about that OS to configure that case on github.