The useful part of this experiment was not PowerShell by itself. It was recognizing that a repetitive editor task was really a structured file transformation—and building a faster, repeatable way to perform it.

Why I made this

A project with many Unity scenes can turn one small configuration change into dozens of nearly identical manual edits. Opening each scene, finding the setting, changing it, and saving it consumes time while creating plenty of opportunities to miss a file or introduce an inconsistent value.

I needed to change lighting data across roughly thirty scenes. The editor made each individual change possible, but it did not make the project-wide operation efficient.

What I did

I examined the serialized scene data, identified the setting that needed to change, and used PowerShell to apply that transformation across the matching files. The resulting batch took roughly three seconds instead of requiring a long sequence of editor interactions.

The video focuses on the technique and logic rather than insisting on one language. PowerShell handled the work in my Windows-based Unity environment, but the same input-transform-output approach could be implemented with Python or another scripting tool.

I also show the real project context behind the utility. This was not automation created for its own sake; it removed a specific bottleneck from maintaining many game scenes.

A note on the archive

This recording reflects Unity scene serialization and tooling as they existed in 2018. Editing serialized project files directly should be done with version control, backups, and careful validation, and current Unity tooling may provide safer APIs for some bulk changes.

I’m keeping the video because the basic trick is still useful: stop treating thirty files as thirty separate jobs, figure out what is actually changing underneath, and automate that change carefully.

Published March 20, 2018. Preserved with context. More DevRel work →