Class
IncrementalPatchBuilder
NotCreatableServiceNotReplicated
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#
AddPathsToBundleboolean | Whether each script in the patch is tagged with a FilePath attribute
recording its on-disk source path.ReadSafe |
BuildDebouncePerioddouble | The interval, in seconds, used to debounce rebuilds so that rapid script changes are coalesced into a single patch build.ReadSafe |
HighCompressionboolean | Whether the serialized patch is written with high-compression settings.ReadSafe |
SerializePatchboolean | Whether a completed build is serialized into a signed binary patch.ReadSafe |
UseFileLevelCompressionInsteadOfChunkboolean | Whether per-chunk compression is skipped so that the patch is compressed at the file level instead.ReadSafe |
ZstdCompressionboolean | Whether 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
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild