Usage
This document was translated from Chinese by an LLM.
After installing this project, you can decompile Udon programs in a world.
This project does not provide guidance on this. You should have a .vrcw.vrcw file.
- Use Asset Ripper to unpack the world file (export the project). The Premium Edition of Asset Ripper is not required and provides no extra benefit for decompiling Udon programs.
- Find the
ExportedProject/Assets/MonoBehaviourExportedProject/Assets/MonoBehaviourfolder in the exported project; it contains all assets that may be UdonPrograms - The [= Obtain required resources] section of Obtain required resources created a project with the editor scripts from this project installed. Open that project and click
Tools/Udon Program DumperTools/Udon Program Dumperin Unity’s top menu bar. In the popup window, enter the path toExportedProject/Assets/MonoBehaviourExportedProject/Assets/MonoBehaviourin the input box labeled “Folder Path”, then click “Dump All .asset Files” -
The console should show logs
Generated: ExportedProject/Assets/MonoBehaviour/dumped/xxx.asset.json...Dumped!Generated: ExportedProject/Assets/MonoBehaviour/dumped/xxx.asset.json...Dumped!Then you can find some
.json.jsonfiles underExportedProject/Assets/MonoBehaviour/dumpedExportedProject/Assets/MonoBehaviour/dumped. These are the dumped Udon programs and are the input to the main program of this project (hereafter “the decompiler”)
Run
udon-decompiler ExportedProject/Assets/MonoBehaviour/dumped --info UdonModuleInfo.json
udon-decompiler ExportedProject/Assets/MonoBehaviour/dumped --info UdonModuleInfo.json
You need to fill in the actual paths to the dumpeddumped folder and the UdonModuleInfo.jsonUdonModuleInfo.json file.
The console should show logs like
2026-01-27 16:00:43 - udon_decompiler - INFO - Decompiling xxx.asset.json2026-01-27 16:00:43 - udon_decompiler - INFO - Successfully loaded program: UdonProgram( bytecode_length=460, symbols=25, entry_points=4, heap_entries=34)2026-01-27 16:00:43 - udon_decompiler - INFO - Parsed 61 instructions2026-01-27 16:00:43 - udon_decompiler - INFO - Created 7 basic blocks2026-01-27 16:00:43 - udon_decompiler - INFO - Built 4 control flow graphs2026-01-27 16:00:43 - udon_decompiler - INFO - Program entry points identified: [EntryPoint(_start @ 0x00000008), EntryPoint(_f @ 0x00000058), EntryPoint(_g @ 0x00000094), EntryPoint(_h @ 0x00000178)]2026-01-27 16:00:43 - udon_decompiler - INFO - Completed dataflow analysis for 4 functions2026-01-27 16:00:43 - udon_decompiler - INFO - Generating C# code for yyy...2026-01-27 16:00:43 - udon_decompiler - INFO - Decompiled: xxx.asset.json -> dumped-decompiled/yyy.cs...2026-01-27 16:00:43 - udon_decompiler - INFO - Done.
2026-01-27 16:00:43 - udon_decompiler - INFO - Decompiling xxx.asset.json2026-01-27 16:00:43 - udon_decompiler - INFO - Successfully loaded program: UdonProgram( bytecode_length=460, symbols=25, entry_points=4, heap_entries=34)2026-01-27 16:00:43 - udon_decompiler - INFO - Parsed 61 instructions2026-01-27 16:00:43 - udon_decompiler - INFO - Created 7 basic blocks2026-01-27 16:00:43 - udon_decompiler - INFO - Built 4 control flow graphs2026-01-27 16:00:43 - udon_decompiler - INFO - Program entry points identified: [EntryPoint(_start @ 0x00000008), EntryPoint(_f @ 0x00000058), EntryPoint(_g @ 0x00000094), EntryPoint(_h @ 0x00000178)]2026-01-27 16:00:43 - udon_decompiler - INFO - Completed dataflow analysis for 4 functions2026-01-27 16:00:43 - udon_decompiler - INFO - Generating C# code for yyy...2026-01-27 16:00:43 - udon_decompiler - INFO - Decompiled: xxx.asset.json -> dumped-decompiled/yyy.cs...2026-01-27 16:00:43 - udon_decompiler - INFO - Done.
Then you can find all decompilation results, i.e. .cs.cs pseudocode files, in ExportedProject/Assets/MonoBehaviour/dumped-decompiledExportedProject/Assets/MonoBehaviour/dumped-decompiled.