# Sandbox.Mesh.CreateVertexBuffer

## Overload 1

```csharp
void CreateVertexBuffer(int vertexCount, System.Span<T> data = null)
```

### Parameters

- `vertexCount` (`int`)
- `data` (`System.Span<T>`), default `null`

## Overload 2

```csharp
void CreateVertexBuffer(int vertexCount, List<T> data)
```

### Parameters

- `vertexCount` (`int`)
- `data` (`List<T>`)

## Overload 3

```csharp
void CreateVertexBuffer(VertexAttribute[] layout)
```

> **Obsolete.** Use CreateVertexBuffer without layout, use VertexLayout attributes on your vertex struct instead

Create an empty vertex buffer, it can be resized later

### Parameters

- `layout` (`VertexAttribute[]`)

## Overload 4

```csharp
void CreateVertexBuffer(int vertexCount, VertexAttribute[] layout, List<T> data)
```

> **Obsolete.** Use CreateVertexBuffer without layout, use VertexLayout attributes on your vertex struct instead

### Parameters

- `vertexCount` (`int`)
- `layout` (`VertexAttribute[]`)
- `data` (`List<T>`)

## Overload 5

```csharp
void CreateVertexBuffer(int vertexCount, VertexAttribute[] layout, System.Span<T> data = null)
```

> **Obsolete.** Use CreateVertexBuffer without layout, use VertexLayout attributes on your vertex struct instead

### Parameters

- `vertexCount` (`int`)
- `layout` (`VertexAttribute[]`)
- `data` (`System.Span<T>`), default `null`

Declared in [Sandbox.Mesh](/api/Sandbox.Mesh).
Assembly: `Sandbox.Engine`.
