Roblox UtilitiesDevlHub Roblox Documentation

Class

IncrementalPatchBuilder

NotCreatableServiceNotReplicated
Inherits
Instance › Object
Memory category
Instances

Builds signed incremental patches for hot-reloading a running client from script changes detected by a separate file watcher.

Internal tooling service, not for creator game scripts. A separate file-watcher system detects changes in a mapped subtree of scripts; this service rebuilds an in-memory patch tree and serializes that tree into a signed binary patch that can be delivered to a running client for hot-reload.

Builds are debounced so rapid successive edits coalesce into a single patch build. When SerializePatch is true, the resulting patch is delivered through AssetDeliveryProxy and written to the configured output path.

Properties 6#

AddPathsToBundlebooleanWhether each script in the patch is tagged with a FilePath attribute recording its on-disk source path.ReadSafe
BuildDebouncePerioddoubleThe interval, in seconds, used to debounce rebuilds so that rapid script changes are coalesced into a single patch build.ReadSafe
HighCompressionbooleanWhether the serialized patch is written with high-compression settings.ReadSafe
SerializePatchbooleanWhether a completed build is serialized into a signed binary patch.ReadSafe
UseFileLevelCompressionInsteadOfChunkbooleanWhether per-chunk compression is skipped so that the patch is compressed at the file level instead.ReadSafe
ZstdCompressionbooleanWhether per-chunk compression of the patch uses the Zstandard algorithm.ReadSafe

AddPathsToBundle: boolean#

ReadSafe

Defaults to false. When true, and the builder is running alongside a CoreScriptSyncService, each script instance added to the patch is given a FilePath attribute set to the on-disk path of the file it was synced from. When false, no path attributes are written.

BuildDebouncePeriod: double#

ReadSafe

Defaults to 0.1 (100 milliseconds). When the separate file watcher reports a script change, the builder waits this interval before rebuilding, and any additional changes that arrive during the window are batched into the same build. Larger values reduce redundant rebuilds during bursts of edits, at the cost of added latency before the patch updates.

HighCompression: boolean#

ReadSafe

Defaults to false. When true, the builder writes the binary patch with high-compression settings, trading additional build time for a smaller patch.

SerializePatch: boolean#

ReadSafe

Defaults to true. When true, each successful build is serialized into a signed binary patch, delivered through AssetDeliveryProxy, and written to the configured output path. When false, the builder still produces the in-memory patch tree but skips serialization, so no patch file is emitted.

UseFileLevelCompressionInsteadOfChunk: boolean#

ReadSafe

Defaults to false. When true, the builder disables the serializer's per-chunk compression, storing the patch's chunks uncompressed so that compression can be applied at the file level instead. This property takes precedence over ZstdCompression: when it is true, the Zstandard setting has no effect.

ZstdCompression: boolean#

ReadSafe

Defaults to false. When true, the builder compresses the patch's chunks with the Zstandard algorithm. This applies only while UseFileLevelCompressionInsteadOfChunk is at its default of false, because that property takes precedence and disables per-chunk compression entirely.

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed