Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Flickering Light (2D & 3D)

An asset by anuke
The page banner background of a mountain and forest
Flickering Light (2D & 3D) hero image

Quick Information

0 ratings
Flickering Light (2D & 3D) icon image
anuke
Flickering Light (2D & 3D)

Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life.Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed.Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D.Great for horror, industrial, sci-fi or retro FPS-style environments.Includes:- 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D- 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D- Built-in lightstyle pattern parserSimple, drop-in usageNo external dependencies. MIT licensed.

Supported Engine Version
4.4
Version String
0.4.0
License Version
MIT
Support Level
community
Modified Date
1 day ago
Git URL
Issue URL

Flickering Light for Godot

This plugin adds flickering behavior to both 2D and 3D lights in Godot Engine using lightstyle patterns inspired by Quake and Half-Life.

Features

  • Supports OmniLight3D and PointLight2D
  • Flicker patterns are defined as strings (e.g. "mmamammmmammamamaaamammma")
  • Adjustable speed and pattern
  • Lightweight and editor-friendly
  • Compatible with Godot 4.x
  • Fully runtime-animated (_process()-based).
  • Ideal for torches, faulty bulbs, or horror scenes.

Installation

  1. Install via AssetLib, or copy the addons/flickering_light folder into your project.
  2. In the Godot Editor, go to Project > Project Settings > Plugins and enable Flickering Light.

Usage

For 3D

  1. Add a FlickeringLight3D node to your scene.
  2. Adjust the pattern and speed properties in the Inspector.

Or you can use it via code

func _ready() -> void:
    var flicker_light = FlickeringLight3D.new()
    flicker_light.max_energy = 2.0
    flicker_light.pattern = 'mmaammzmaamamzzmaam'
    flicker_light.position = Vector3(0, 1, 1.5)
    add_child(flicker_light)

For 2D

  1. Add a FlickeringLight2D node to your scene.
  2. Adjust the pattern and speed properties in the Inspector.

Pattern Format

Each character in the pattern represents a brightness level:

  • 'a' is darkest
  • 'm' is medium light
  • 'z' is brightest

The brightness is calculated using:
intensity = (char - 'a') / 25.0

Examples:

  • "mmamammmmammamamaaamammma": erratic flicker
  • "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba": smooth pulse

License

This plugin is distributed under the MIT License. See the LICENSE file for details.

Compatibility

  • Tested with Godot 4.4.
  • Only PointLight2D and OmniLight3D are currently supported.

Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life.
Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed.
Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D.
Great for horror, industrial, sci-fi or retro FPS-style environments.

Includes:
- 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D
- 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D
- Built-in lightstyle pattern parser

Simple, drop-in usage
No external dependencies. MIT licensed.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Flickering Light (2D & 3D) icon image
anuke
Flickering Light (2D & 3D)

Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life.Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed.Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D.Great for horror, industrial, sci-fi or retro FPS-style environments.Includes:- 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D- 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D- Built-in lightstyle pattern parserSimple, drop-in usageNo external dependencies. MIT licensed.

Supported Engine Version
4.4
Version String
0.4.0
License Version
MIT
Support Level
community
Modified Date
1 day ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers