<!--
{
  "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

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

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

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

Initializes a new region with a rectangular area.

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

Initializes a new region with a circular area.

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

Initializes a new region using a Core Graphics path.

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

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

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

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

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

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

[`-  regionByUnionWithRegion:`](/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.

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

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

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)