<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SpriteKit",
  "identifier" : "/documentation/SpriteKit/SKRegion",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SpriteKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SKRegion"
  },
  "title" : "SKRegion"
}
-->

# SKRegion

The definition of an arbitrary area.

```
class SKRegion
```

## Overview

An [`SKRegion`](/documentation/SpriteKit/SKRegion) object defines a mathematical shape and is typically used to determine whether a particular point lies inside this area. For example, regions are used to define the area that a physics field can affect. Regions are defined using paths and mathematical shapes and can also be combined using constructive solid geometry.

## Topics

### Creating and Initializing Region Objects

[`infinite()`](/documentation/SpriteKit/SKRegion/infinite())

Returns a region that defines a region that includes all points.

[`init(size:)`](/documentation/SpriteKit/SKRegion/init(size:))

Initializes a new region with a rectangular area.

[`init(radius:)`](/documentation/SpriteKit/SKRegion/init(radius:))

Initializes a new region with a circular area.

[`init(path:)`](/documentation/SpriteKit/SKRegion/init(path:))

Initializes a new region using a Core Graphics path.

[`inverse()`](/documentation/SpriteKit/SKRegion/inverse())

Returns a new region that is the mathematical inverse of an existing region.

[`byDifference(from:)`](/documentation/SpriteKit/SKRegion/byDifference(from:))

Returns a new region created by subtracting the contents of another region from this region.

[`byIntersection(with:)`](/documentation/SpriteKit/SKRegion/byIntersection(with:))

Returns a new region created by intersecting the contents of this region with another region.

[`byUnion(with:)`](/documentation/SpriteKit/SKRegion/byUnion(with:))

Returns a new region created by combining the contents of this region with another region.

### Interacting with a Region

[`path`](/documentation/SpriteKit/SKRegion/path)

Returns a Core Graphics path that defines the region.

[`contains(_:)`](/documentation/SpriteKit/SKRegion/contains(_:))

Returns a Boolean value that indicates whether a particular point is contained in the region.



---

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)