15 Free Save-System Corruption Fuzz Testing Tools and Reference Patterns for Unity and Godot (2026)
Trend-timed mid-2026 references for property-based fuzzing of Unity and Godot save files—Hypothesis and FsCheck/CsCheck harnesses, proptest for engine-agnostic checks, GUT and Unity Test Framework editor gates, JSON Schema invariants, canonical serialization with MessagePack and Protocol Buffers, libFuzzer and AFL++ native corpora, Steam Cloud parity patterns, and Microsoft PICT combinatorial coverage before partner-cert intake asks for proof you fuzzed the reader, not only the writer.
Hypothesis - Property-based testing for Python
Open SourcePython property tests that generate malformed save blobs and shrink failing inputs to minimal repro seeds—ideal for exported JSON/CSV goldens and CI replay folders before you port harnesses into engine languages.
Use for: offline save corpus generation.
FsCheck - Property-based testing for .NET
Open Source.NET property framework for round-trip and invariant checks on C# save DTOs—pair with Unity editor tests so the same generators run against production serializers without a separate Python fork.
Best for: Unity IL2CPP save models.
CsCheck - C# property-based testing
Open SourceModern C# alternative with fluent generators and deterministic seed replay—useful when FsCheck integration cost is high but you still need shrink-friendly failures in merge-queue CI.
Use for: lean Unity test assemblies.
proptest - Property testing for Rust
Open SourceRust harness for Bevy and native tooling teams validating binary save layouts, checksum fields, and migration tables outside the editor—keeps fuzz logic in the same repo as custom exporters.
Best for: engine-agnostic binary saves.
GUT - Godot Unit Test
Open SourceGodot 4 integration tests that load corrupted `.save` fixtures in headless CI—assert recovery UI paths and never let a bad file brick the title screen during festival demo builds.
Use for: Godot save reader gates.
Unity Test Framework
Official DocsEditor and playmode tests for save/load round-trips with NUnit assertions—run corruption fixtures on every nightly build so cert-window merges cannot skip serializer changes silently.
Best for: Unity editor-mode fuzz hooks.
JSON Schema
ReferenceStructural invariants separate from numeric tolerance—validate required keys, version monotonicity, and forbidden null slots before property tests argue about float epsilon on stats columns.
Use for: schema vs numeric test split.
MessagePack
ReferenceCompact binary serialization reference when saves must stay canonical across platforms—document endianness and extension types so fuzz corpora do not confuse reader versions after cloud sync.
Best for: cross-platform binary saves.
Protocol Buffers
ReferenceVersioned message contracts with explicit field evolution rules—pair with fuzz tests that bump `save_version` and prove old corpora either migrate or fail closed with recovery UI.
Use for: migration-safe saves.
LLVM libFuzzer
Open SourceIn-process fuzzing for native save parsers and compression wrappers—feed every crashing input into a regression seed directory partners can replay during Q3 intake mock audits.
Use for: native parser hardening.
AFL++
Open SourceCoverage-guided fuzzer when save IO crosses file boundaries, encryption, or checksum validation—slower than libFuzzer but strong for custom archive formats indies invent under schedule pressure.
Best for: opaque binary containers.
Steamworks - Steam Cloud
Platform DocsCloud sync failure modes—conflict resolution, quota, and partial upload patterns that turn local fuzz passes into production incidents if you never test merge semantics.
Use for: PC cloud-save parity.
Combinatorial coverage for save-state dimensions (biome × quest flag × inventory tier) without exploding manual matrices—cheap complement to property tests when cert reviewers ask for documented state-space sampling.
Best for: state-space tables.
Beginner walkthrough for six save invariants, FsCheck.Unity + GUT recipes, CI integration, and partner-cert evidence folders—this list is the external tool spine for that article.
Use for: studio implementation runbook.
Sibling continuity list for nightly CSV/Parquet goldens and epsilon diff gates—reuse the same frozen export discipline when save telemetry columns feed governance dashboards.
Best for: CI golden parity.