---
title: SKTextureAtlas
framework: spritekit
role: symbol
role_heading: Class
path: spritekit/sktextureatlas
---

# SKTextureAtlas

A collection of textures optimized for storage and drawing performance.

## Declaration

```swift
class SKTextureAtlas
```

## Mentioned in

About Texture Atlases Maximizing Node Drawing Performance Maximizing Texture Performance

## Overview

Overview An SKTextureAtlas is a collection of textures that were either created from an .atlas folder in the app bundle, or created at runtime. Texture atlases improve memory usage and rendering performance by reducing draw calls. Whenever you have textures that are always used together, store them in an atlas for best results. SpriteKit implicitly loads an atlas when one of the atlas’s textures is accessed. Use textureNamed(_:) when you want to explicitly access a texture atlas’s contents. The preferred place to create a texture atlas is within an asset catalog (see Creating a Sprite Atlas), but you can also put your source textures in an .atlas folder in the app bundle.

## Topics

### First Steps

- [About Texture Atlases](spritekit/about-texture-atlases.md)

### Accessing Textures

- [textureNamed(_:)](spritekit/sktextureatlas/texturenamed(_:).md)

### Creating a Texture Atlas Programmatically

- [init(named:)](spritekit/sktextureatlas/init(named:).md)
- [init(dictionary:)](spritekit/sktextureatlas/init(dictionary:).md)

### Preloading Textures

- [preload(completionHandler:)](spritekit/sktextureatlas/preload(completionhandler:).md)
- [preloadTextureAtlases(_:withCompletionHandler:)](spritekit/sktextureatlas/preloadtextureatlases(_:withcompletionhandler:).md)
- [preloadTextureAtlasesNamed(_:withCompletionHandler:)](spritekit/sktextureatlas/preloadtextureatlasesnamed(_:withcompletionhandler:).md)

### Reading Source Image Filenames

- [textureNames](spritekit/sktextureatlas/texturenames.md)

### Instance Properties

- [customPlaygroundQuickLook](spritekit/sktextureatlas/customplaygroundquicklook.md)

### Initializers

- [init(coder:)](spritekit/sktextureatlas/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Textures

- [Maximizing Texture Performance](spritekit/maximizing-texture-performance.md)
- [SKTexture](spritekit/sktexture.md)
- [SKMutableTexture](spritekit/skmutabletexture.md)
