Check whether a signal can be replicated to the server
can-signal-replicateChecks if an RBXScriptSignal is allowed to replicate to the server, returning CanReplicate so you can pre-flight signals before firing them.
Instructions
Query whether an RBXScriptSignal is one the Roblox engine permits to be replicated to the server, using the executor's cansignalreplicate. When CanReplicate is true, the replicate-signal tool can fire this signal so the server receives it as if the game client raised it natively — the basis for driving server-side logic that is normally gated behind engine-internal signals. When false, replicate-signal will be rejected and you must use a different vector. Use this to pre-flight a signal before attempting replication. Pass the instance that owns the signal plus the signal member name (or leave signalName empty if instancePath already resolves to the signal). Requires the cansignalreplicate executor function; degrades with a clear { error } if unavailable. Returns { Signal, Instance?, CanReplicate, Note }. Signature: { instancePath: string, signalName: any?, threadContext: number? }. Phase: observe; cost=medium; idempotency=read-only. Requires: active-client, resolved-target. Capabilities: getconnections. Produces: structured-result. Safety: read-only. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signalName | No | Name of the RBXScriptSignal member on the instance (e.g. 'OnClientEvent', 'Touched', 'Changed'). Leave empty/omit if instancePath already evaluates to the signal. | |
| instancePath | Yes | Lua expression resolving to the Instance that owns the signal (e.g. 'game.ReplicatedStorage.MyRemote', 'game.Workspace.Door'). Evaluated as `return <instancePath>`. Leave signalName empty if this expression already resolves to the RBXScriptSignal itself. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |