<!--
{
  "availability" : [
    "iOS: 5.0.0 - 12.0.0",
    "iPadOS: 5.0.0 - 12.0.0",
    "macOS: 10.8.0 - 10.14.0",
    "tvOS: 9.0.0 - 12.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "GLKit",
  "identifier" : "/documentation/GLKit/GLKTextureLoader/cubeMap(withContentsOfFiles:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "GLKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GLKTextureLoader(cm)cubeMapWithContentsOfFiles:options:error:"
  },
  "title" : "cubeMap(withContentsOfFiles:options:)"
}
-->

# cubeMap(withContentsOfFiles:options:)

Loads a cube map texture image from a series of files and creates a new texture from the data.

```
class func cubeMap(withContentsOfFiles paths: [Any], options: [String : NSNumber]? = nil) throws -> GLKTextureInfo
```

## Parameters

`paths`

An array of <doc://com.apple.documentation/documentation/Foundation/URL> or `String` objects that provide the paths to the six files that make up the cube map.

`options`

A dictionary that describes any additional steps you want the texture loader to take when loading the texture. See [Texture Loading Options](/documentation/GLKit/texture-loading-options).

## Return Value

A texture info object that describes the loaded texture or `nil` if an error occurred.

## Discussion

The array of file paths must include six entries for the six faces of the cube map. The URLs should be arranged in the following order: Right(+x), Left(-x), Top(+y), Bottom(-y), Front(+z), Back(-z). This coordinate system is left-handed if you think of yourself within the cube. The coordinate system is right-handed if you think of yourself outside of the cube.

This class method loads the texture into the sharegroup attached to the current context for the thread this method is called on.

> Handling Errors in Swift:
> In Swift, this method returns a nonoptional result and is marked with the `throws` keyword to indicate that it throws an error in cases of failure.
> 
> You call this method in a `try` expression and handle any errors in the `catch` clauses of a `do` statement, as described in [Error Handling](https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html) in [The Swift Programming Language](https://docs.swift.org/swift-book/) and `About Imported Cocoa Error Parameters`.

## Topics

### Related Documentation

[`-  cubeMapWithContentsOfURL:options:queue:completionHandler:`](/documentation/GLKit/GLKTextureLoader/cubeMap(withContentsOf:options:queue:completionHandler:))

Asynchronously loads a cube map texture image from a single URL and creates a new texture from the data.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)