The Thread-Safe IO package is a lightweight wrapper library that makes the default System.IO.File and System.IO.Directory namespaces thread-safe. By using this
package, you can modify many files and directories simultaneously (concurrently, i.e., from many threads at the same time) without ever worrying about thread safety.
Ease of Use
To use this package, simply replace your System.IO.File and System.IO.Directory calls with ProjectGamedev.IO.File and ProjectGamedev.IO.Directory.
That's it! All your file and directory manipulations, such as loggers and save/load systems, are now thread-safe!
Speed
Smart named locks ensure multiple files can be modified in parallel, greatly increasing IO speed compared to naive mutex (mutual exclusion) locking.
Industrial-Grade Quality Control
Automated tests guarantee the highest level of code correctness, with test coverage well above modern industrial standards (100% statement coverage vs 50-70% in the industry).
Multithreaded correctness is guaranteed by load testing, where thousands of threads simultaneously modify files and directories without causing IO errors.
Stability and compatibility are verified through a continuous integration pipeline that runs automated tests across different Unity versions, render pipelines, and OS versions in the cloud. This helps detect issues that may not appear on local machines and improves test repeatability and reliability.
Documentation
You can download the following document deliverables concerning this asset (also included in the package):
For further information, visit the tool's page on our website.
For further technical details, visit the tool's documentation page.