<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/PointLightComponent",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation19PointLightComponentV"
  },
  "title" : "PointLightComponent"
}
-->

# PointLightComponent

A component that defines a point light source.

```
struct PointLightComponent
```

## Overview

The strength of a point light depends on a combination of its
[`intensity`](/documentation/RealityKit/PointLightComponent/intensity) and [`attenuationRadius`](/documentation/RealityKit/PointLightComponent/attenuationRadius).
The default values for these properties make this light
comparable to high-power streetlights, or outdoor floodlights.

This table shows a few examples of common scenarios similar to a point light source:

|Scenario                       |Approximate lumens |Attenuation radius|Description                    |
|-------------------------------|-------------------|------------------|-------------------------------|
|Candle flame                   |10-15 lumens       |~1 meter          |Very small light source        |
|Nightlight                     |20-30 lumens       |1-2 meters        |Low-level lighting             |
|25W lightbulb                  |200-300 lumens     |2-3 meters        |Small room lighting            |
|40W lightbulb                  |400-500 lumens     |3-4 meters        |Moderate room lighting         |
|60W lightbulb                  |700-800 lumens     |4-5 meters        |General-purpose lighting       |
|100W lightbulb                 |1,500-1,700 lumens |5-6 meters        |Bright room lighting           |
|LED flashlight                 |300-600 lumens     |50-70 meters      |Long distance illumination     |
|Car headlights (each, low-beam)|700-1,200 lumens   |100-150 meters    |Illuminates the road ahead     |
|LED streetlight                |8,000-10,000 lumens|20-30 meters      |Illuminates large outdoor areas|
|Stadium lighting               |~100,000 lumens    |100-200 meters    |Lights-up large outdoor areas  |

Use this component by applying it to an entity’s [`components`](/documentation/RealityKit/Entity/components) set.
In this example, the light’s color is red:

```swift
let lightEntity = Entity()

let redLightComponent = PointLightComponent(color: .red)
lightEntity.components.set(redLightComponent)
```

The point light illuminates entities based on its distance from them.
Here is a visual example of how a red `PointLightComponent` illuminates elements based on distance:

|![A screenshot of a RealityKit scene with a dark gray floor, a light gray cube, and a small green sphere to the left of the cube above the floor. The green sphere is emitting a red light, which slightly illuminates the close side of the cube and the floor below.](pointlight-cube-far)|![A screenshot of a RealityKit scene with a dark gray floor, a light gray cube, and a small green sphere to the left of the cube above the floor. The green sphere is emitting a red light, which strongly illuminates the close side of the cube and the floor below.](pointlight-cube-closer)|![A screenshot of a RealityKit scene with a dark gray floor, a light gray cube, and a small green sphere to the left of the cube above the floor. The green sphere is emitting a red light, which intensely illuminates the close side of the cube and the floor below.](pointlight-cube-closest)|
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

> Note: The green dot in the above illustrations is only a visual representation of the light’s position.

## Dynamic light capacity

On older hardware, only a limited number of dynamic lights can affect each object.
Devices that support `MTLGPUFamily.apple6` or later lift this limit.

Excessive use of dynamic lights may contribute to user-noticeable frame drops and
can cause the device to heat up in graphically demanding situations. Both the number
of lights and each light’s coverage affect performance, so use properties like
[`attenuationRadius`](/documentation/RealityKit/PointLightComponent/attenuationRadius) to keep a light’s influence no larger than your scene needs.
Monitor the thermal state and reduce usage as a mitigation, if necessary.

Because this behavior varies by device, verify your scene’s lighting on the oldest
hardware you support. You can check for this support at runtime with
`MTLDevice.supportsFamily(.apple6)`.

## Topics

### Creating a point light component

[`init(cgColor: CGColor, intensity: Float, attenuationRadius: Float)`](/documentation/RealityKit/PointLightComponent/init(cgColor:intensity:attenuationRadius:))

Creates a new instance with the specified color, intensity and attenuation.

### Configuring the light

[`var attenuationRadius: Float`](/documentation/RealityKit/PointLightComponent/attenuationRadius)

The distance from the light source where its intensity reaches zero.

[`var intensity: Float`](/documentation/RealityKit/PointLightComponent/intensity)

The intensity of the point light, measured in lumen.

[`var attenuationFalloffExponent: Float`](/documentation/RealityKit/PointLightComponent/attenuationFalloffExponent)

The exponent value for the light’s intensity falloff-transition curve.

### Supporting types

[`typealias Color`](/documentation/RealityKit/PointLightComponent/Color-swift.typealias)

A platform-specific type used to define color for a point light.

### Assigning render layers

[`var layers: RenderLayer.Set`](/documentation/RealityKit/PointLightComponent/layers)

The layers this light illuminates.

### Lighting the surroundings

[`struct SurroundingsLight`](/documentation/RealityKit/PointLightComponent/SurroundingsLight)

A component that specifies that the point light illuminates the physical and immersive environment.

### Initializers

[`init(color:intensity:attenuationRadius:)`](/documentation/RealityKit/PointLightComponent/init(color:intensity:attenuationRadius:))

Creates a point light component with a configuration.

[`init(color:intensity:attenuationRadius:attenuationFalloffExponent:)`](/documentation/RealityKit/PointLightComponent/init(color:intensity:attenuationRadius:attenuationFalloffExponent:))

Creates a point light component with a configuration.

### Instance Properties

[`var color: PointLightComponent.Color`](/documentation/RealityKit/PointLightComponent/color-4ksx7)

A color for the point light.

[`var color: PointLightComponent.Color`](/documentation/RealityKit/PointLightComponent/color-8gecu)

A color for the point light.

## Relationships

### Conforms To

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

[`Component`](/documentation/RealityKit/Component)

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

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

---

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)