Scripts that modify assets during import or post-processingA process that improves product visuals by applying filters and effects before the image appears on screen. You can use post-processing effects to simulate physical camera and film properties, for example Bloom and Depth of Field. More info post processing, postprocessing, postprocess
See in Glossary can unintentionally break build determinism. Before building, ensure that all generated assets are version-controlled and stable.
To prevent Unity Editor scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary from causing non-deterministic builds, follow these guidelines:
Directory.GetFiles and AssetDatabase.FindAssets don’t guarantee sorted results.Avoid non-deterministic coding patterns such as the following:
Random.value, Guid.NewGuid, DateTime.Now, noise sampling) in asset generation.In some workflows, tools generate pre-serialized runtime data such as Protobuf message binaries, JSON blobs, or other binary payloads during the build process and embed them into the build as assets or resources.
Even if the generated code is deterministic, the serialized data might not be. Review the official documentation or source of the serialization library to verify whether it produces deterministic output under identical inputs.
Avoid regenerating serialized data during every build. Instead, generate once, validate, and commit the data to version controlA system for managing file changes. You can use Unity in conjunction with most common version control tools, including Perforce, Git, Mercurial and PlasticSCM. More info
See in Glossary.