Skip to content

Toolchain and Version Pinning

clericall edited this page Aug 13, 2026 · 2 revisions

Toolchain and Version Pinning

To ensure 100% reproducible results when running census measurements or building WebGL target closures, this page pins the exact software versions, download sources, and command-line arguments used in this repository.


Pinned Software Matrix

Software / Tool Pinned Version Purpose Download / Repository
Unity Editor 2021.3.35f1 (LTS) Target WebGL build editor for MiSide case study Unity Hub / Unity Download Archive
Unity Editor (Unity 6) 6000.0.4f1 Unity 6 IL2CPP control group test Unity Hub
AssetRipper v0.3.4 / v1.0.0+ Decompiling shipped binary assets and scenes AssetRipper GitHub
Cpp2IL v2022.1.0-pre-release.3 Lifting IL2CPP native binary code into ISIL Cpp2IL GitHub
ilspycmd v8.0.0.7303 Mono C# decompiler used for control group benchmarks dotnet tool install -g ilspycmd
Python 3.8+ (tested on 3.10 / 3.11) Executing measurement scripts and local WebGL HTTP server Python.org
PowerShell 7.0+ (or Windows PowerShell 5.1) Executing scene closure measurement and PE header repair scripts Microsoft PowerShell

Exact Execution Commands for Reproducibility

1. Extracting Serialized Assets & Scripts (AssetRipper)

AssetRipper.Console.exe "C:\Games\TargetGame" --out "C:\DecompiledExport"

2. Extracting ISIL Assembly Disassembly (Cpp2IL)

Cpp2IL.exe --game-path "C:\Games\TargetGame" --output-as isil --out "C:\ISIL_Export"

3. Mono Control Group Decompilation (ilspycmd)

ilspycmd -p -o "C:\MonoExport\Scripts" "C:\Games\MonoGame\Managed\Assembly-CSharp.dll"

4. Method Body Census Execution

python tools/measure-bodies.py "C:\DecompiledExport\ExportedProject\Assets\Scripts"
python tools/measure-owned.py "C:\DecompiledExport\ExportedProject\Assets\Scripts"

Environment Notes

  • OS Environment: Tested on Windows 10/11 x64 and macOS (ARM64 Apple Silicon).
  • No Third-Party Python Dependencies: All scripts inside tools/ use standard library Python (os, sys, re, http.server, socketserver, shutil). No pip install required.
  • PowerShell Execution Policy: If running .ps1 scripts returns a policy restriction error, launch PowerShell with:
    powershell -ExecutionPolicy Bypass -File tools/fix-plugin-pe.ps1 -ProjectPath "C:\UnityProject"