---
title: "RakNetPacket.SetData"
description: "Replaces the current outgoing payload."
---

```lua
packet:SetData(data: string | buffer | {number}): ()
```

---

## Aliases

None.

---

## Arguments

<ParamField body="data" type="string | buffer | {number}" required>
  Replacement bytes as a string, buffer, or 1-based numeric byte array.
</ParamField>

---

## Returns

This function returns no values.

Use only inside the synchronous send callback. String and buffer inputs are binary-safe. Byte arrays are read as 1-based numeric sequences with values converted to integers then checked against 0..255.

**Related types:** [RakNet types & behavior](/reference/raknet/types).

---

## Example

```lua
local function preservePayload(packet)
    packet:SetData(packet.AsString)
end
raknet.add_send_hook(preservePayload)
task.delay(5, function() raknet.remove_send_hook(preservePayload) end)
```
