Builds signed incremental patches for hot-reloading a running client from
script changes detected by a separate file watcher.
Its interface does not cross the network boundary.
Instances of this class cannot be created with Instance.new.
It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]
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.
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.
History 3
| Type | Default |
|---|
| double | 0.10000000000000000555 |
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.
History 1
Defaults to false. When true, the builder writes the binary patch with
high-compression settings, trading additional build time for a smaller
patch.
History 2
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.
History 1
UseFileLevelCompressionInsteadOfChunk
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.
History 1
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.
History 2