> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# cansignalreplicate

> Checks whether an RBXScriptSignal is legal to send with the current NetworkClient replication layer. The function validates the first argument as RBXScriptSignal, reads the signal's source instance and event descriptor, then returns the boolean result of replication layer signal replication validation. If the resolved replication layer reference is 0, it returns false. Extra arguments are not read. This function only checks the signal and does not fire or replicate it. The whitelist table returned by getsignalwhitelist is not used by this code path.

<div className="real-function-page">
  ```lua theme={null}
  cansignalreplicate(signal: RBXScriptSignal): boolean
  ```

  ## Arguments

  <ParamField path={"signal"} type={"RBXScriptSignal"} required>
    Signal to check. The first argument must be object whose Luau type name is RBXScriptSignal.
  </ParamField>

  ## Returns

  <ResponseField name={"canReplicate"} type={"boolean"}>
    The boolean returned by the replication layer signal replication validation check, or false when the resolved replication layer reference is 0.
  </ResponseField>

  ## Example

  Check whether an RBXScriptSignal is legal to send before attempting to replicate it.

  ```lua theme={null}
  local ReplicatedStorage = game:GetService("ReplicatedStorage")
  local remote = ReplicatedStorage:FindFirstChild("RemoteEvent")

  if remote then
      print(cansignalreplicate(remote.OnClientEvent))
  end
  ```
</div>
