---
title: "init(url:vertexDescriptor:bufferAllocator:)"
framework: modelio
role: symbol
role_heading: Initializer
path: "modelio/mdlasset/init(url:vertexdescriptor:bufferallocator:)-1tchi"
---

# init(url:vertexDescriptor:bufferAllocator:)

Initializes an asset from the file at the specified URL, using the specified vertex descriptor and buffer allocator.

## Declaration

```swift
init(url URL: URL?, vertexDescriptor: MDLVertexDescriptor?, bufferAllocator: (any MDLMeshBufferAllocator)?)
```

## Parameters

- `URL`: A URL specifying the location an asset file.
- `vertexDescriptor`: An object describing the vertex data format to be loaded from the asset, or nil to use the asset’s vertex buffers as found in the file.
- `bufferAllocator`: The allocator object to use for loading mesh data from the asset, or nil to use a default allocator.

## Return Value

Return Value A new asset object.

## Discussion

Discussion Using this initializer is equivalent to using the init(url:vertexDescriptor:bufferAllocator:preserveTopology:error:) initializer, passing false for the preserveTopology parameter and ignoring errors.

## See Also

### Creating an Asset

- [canImportFileExtension(_:)](modelio/mdlasset/canimportfileextension(_:).md)
- [init(url:)](modelio/mdlasset/init(url:)-1f4ym.md)
- [init(bufferAllocator:)](modelio/mdlasset/init(bufferallocator:).md)
- [init(url:vertexDescriptor:bufferAllocator:preserveTopology:error:)](modelio/mdlasset/init(url:vertexdescriptor:bufferallocator:preservetopology:error:)-510xi.md)
