# Reader

> Initializes and returns an instance of UnsafeAppendBuffer.Reader.

## Definition

* **Type:** Constructor
* **Namespace:** [Unity.Collections.LowLevel.Unsafe](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe.md)
* **Assembly:** UnityEngine.ManagedKernelModule

## Reader(UnsafeAppendBuffer)

Initializes and returns an instance of UnsafeAppendBuffer.Reader.

```csharp
public Reader(ref UnsafeAppendBuffer buffer)
```

### Parameters

**** (\[UnsafeAppendBuffer]\(/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeappendbuffer)): A reference to the append buffer to read.

## Reader(void\*, int)

Initializes and returns an instance of UnsafeAppendBuffer.Reader that reads from a buffer.

```csharp
public Reader(void* ptr, int length)
```

### Parameters

**** (\[void\*]\(https\://learn.microsoft.com/dotnet/api/system.void)): The buffer to read as an UnsafeAppendBuffer.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The length in bytes of the

### Remarks

The buffer will be read "as if" it is an UnsafeAppendBuffer whether it was originally allocated as one or not.
