top of page
Tutorial #4: IL Effects

In this tutorial, you'll learn how to create basic effects that you can then render to your lights or RGB devices in both 2D or 3D space.

#1: Create an Immersive Lighting Effect UAsset

Start by creating a new folder in your Content Browser called Effects under your IL folder if you've already created it as an example. Right-click in the new folder and under the Immersive Lighting menu, select Immersive Lighting Effect and name the effect DemoEffect. Open the effect so we can edit it.

The first thing we need to do is select a Lighting Effect Type and assign the Color Curve and Position Curve. We've included a couple LinearColorCurves and also FloatCurves you can also use as a starting point. The Color Curve is used to show how color is laid out across all of the light sources or how it animates and the Position Curve will drive where the animation is for certain effect types.

Let's start by keeping the default Lighting Effect Type set to Uniform and go ahead and select or create a LinearColorCurve and assign it to Color Curve.

IL Uniform Effect Setup.png

#2: Setup the Effect to be triggered using multiple Light Controllers

We'll go back and check out some of the other standard effect types built in but let's hook up the new DemoEffect to be triggered to start on BeginPlay. Go into your level blueprint and call Get Immersive Lighting System and from that, call Play Lighting Effect for BeginPlay and Stop Lighting Effect (or Stop All Lighting Effects) on EndPlay.

IL Effects Setup.png

To assign the effect to an array of Light Controllers, Play Lighting Effect that can take in an Immersive Lighting Layout or Play Lighting Effect To Controller and Play Lighting Effect To Controllers can take one or more Light Controllers instead.

If you've setup your lighting interfaces correctly, you can test the effect out by playing in the editor. You should see your LinearColorCuve laid out across your device or set of lights.

As a note, you can assign a single Light Controller that could be for example an RGB keyboard with multiple LEDs, in which you would see the effect across of the LEDs. Each LED is treated as an individual light source in the entire array so you can use one or many devices on top of RGB lights.

#3: Try other Lighting Effect Types

Now that you've hooked up your first IL Effect, let's go back to it to try out other effect types. The Lighting Effect Type has a couple of built in effects we can take advantage of to create some common effects fairly easily. As a note, this system might be changed but the IL Volume Effects allow you for the time being to create your own custom effects that are far more advanced than the standard IL Effects. However, IL Effects can also trigger IL Volume Effects using the Effect Volume Class if Effect Volume is enabled. You may want to do this for various reasons but mainly for use in IL Master Effects.

Lighting Effect Types

Uniform: The effect is uniformly distributed across the light source(s). If Animate Color is set, it will animate the light source(s) using the the Color Curve.

Ripple: Creates a ripple effect from the inside out

Wave: Wave effect from one side to the other

Fill: Fill effect that fills from the inside out or vice versa

Progress: Progress bar like effect that goes from one side to the other

Random: Randomly animate individual light sources

Radial: Creates a radial effect where the colors are distributed based on distance

Spiral: Creates a spiral effect where the colors are rotated

Configure the new IL Effect UAsset (optional)

IL Effects.png

Color Curve: The color curve asset to use for this effect. NOTE: If you update the start/end time of the curve while editing in real-time, you'll need to restart playing in editor

Position Curve: The position curve asset to use for this effect. NOTE: If you update the start/end time of the curve while editing in real-time, you'll need to restart playing in editor

Effect Volume Class: The effect volume class to use if this effect uses a custom volume

Lighting Effect Type: The type of lighting effect this is

Effect Flow: The type of directions the user can customize the flow of the effect

Projected Access: The axis to project the effect onto

Effect Direction: A custom direction the effect travels in world space if specified

Offset: An optional offset applied to the effect origin in world space

Duration: The duration of the effect

Speed: The overall speed of the effect

Thickness: The normalized area the animation covers in

Distance Scale: The overall scale of the distance the animation has to travel

Random Duration: The duration of each random animation instance

Random Count: The number of instances that will be animating at once during a random effect

Loop Count: The number of times to loop the animation. This will loop indefinitely if it is < 0

Use Hue Color: Whether or not to treat the Linear Color Curve instead as a hue color ramp

Animate Color: Whether or not to treat the Linear Color Curve as an animation curve for the timeline

Colors In Sequence: Whether or not to display the colors on the LEDs in sequence rather than by horizontal positional on the actual device

Animate In Sequence: Whether or not to animate the LEDs in sequence rather than by horizontal positional on the actual device

Distance Scale Color: Whether or not to also apply the Distance Scale to the color

Reverse Color: Whether or not to reverse the color animation playback or how it is statically displayed on the device

Reverse Position: Whether or not to reverse the position animation playback

Ping Pong: Whether or not the animation will also play a second time in reverse before it is considered one full loop

Effect Volume: Whether or not this effect uses a custom Immersive Lighting Effect Volume

Don't forget to make sure your lighting interfaces are setup properly for Philips hue, Corsair iCUE, DMX, etc. in order to see the lights in action

bottom of page