Skip to main content
Version: 1.3.1

Oceanology NextGen - Caustics

💡 Light Projection
🎨 Ground Effects
🔧 Modular

Add realistic caustic light patterns projected onto terrain and objects beneath the water surface.


Prerequisites

RequirementDetails
EngineUE5.x (latest release)
PluginOceanology NextGen installed and configured
SceneWater body (Infinite Ocean or Lake) + Directional Light
SkillsBasic familiarity with lighting and materials
Two Caustics Systems

Oceanology has two separate caustics systems depending on the water body type:

  • Infinite Ocean uses Light Functions projected through the Directional Light via the Oceanology Light Source Controller actor.
  • Lake uses a built-in Decal Component that projects caustics directly onto geometry below the water.

Both systems are controlled from the Caustics category on the water actor, but the Infinite Ocean requires an additional actor to be placed in your scene.


Infinite Ocean - Light Function Caustics

For the Infinite Ocean, ground caustics are projected through your scene's Directional Light using a Light Function material. This approach is efficient for infinite worlds since it doesn't require a physical decal volume.

1. Place the Oceanology Light Source Controller

Open your level and use the Quickly Add to the Project menu (the + button in the toolbar). Search for Oceanology Light Source Controller and drag it into your scene.

This actor is required for ground caustics to work with the Infinite Ocean. Without it, enabling caustics on the water actor will have no visible effect on the ground.

Placing Light Source Controller

2. Configure the Light Source Controller

Select the OceanologyLightSourceController in your level. In the Details panel, configure the Settings category:

ParameterDescription
Oceanology WaterReference to your water body (e.g., OceanologyInfiniteOcean). The controller reads caustic parameters from this actor.
Directional LightReference to the Directional Light in your scene. The controller assigns the caustics Light Function material to this light.
Light Function MaterialsArray of light function materials to apply. By default, the plugin provides Directional Light and Point Light caustics materials.

The controller automatically:

  1. Creates a Dynamic Material Instance from the Light Function material
  2. Passes all water parameters (wave data, caustics settings) to the material
  3. Assigns the material as the Light Function on the Directional Light

Light Source Controller settings

3. Configure Caustics parameters on the water actor

Select the OceanologyInfiniteOcean actor. In the Details panel, expand the Caustics category:

Toggle:

  • EnableCausticsOnGround - ✅ Enabled. Master toggle for the ground caustics system.

Ground Caustics Parameters:

ParameterDefaultDescription
DarknessExposure2.5Controls how strongly caustics are visible. Higher values make caustics brighter and more defined.
MaximumDarkness-4000.0Maximum depth at which caustics are still visible. Beyond this depth, caustics fade out completely.
MinimumDarkness-10.0Depth at which caustics begin to appear. Adjusts the shallow water threshold.
WetAlpha10.0Alpha intensity for the wet surface effect around caustics.

Surface Caustics Parameters (under Surface > Caustics):

ParameterDefaultDescription
FadeDistance1.0Distance over which surface caustics fade out.
MultiplyRefraction1.333Multiplier for caustic refraction intensity on the water surface.

Water actor Caustics settings

Common Issue: No Caustics Visible

If you enable caustics on the water actor but see no effect on the ground, the most likely cause is a missing Oceanology Light Source Controller in your scene. The Infinite Ocean does not project caustics on its own. You must place the controller and link it to both the water body and your Directional Light.


Lake - Decal Caustics

Lakes have a built-in CausticsComponent (Decal) that projects caustics directly onto geometry beneath the water. No additional actor is needed.

Configure Lake Caustics

Select your OceanologyLake actor. In the Details panel, find the Caustics category:

  1. Ensure EnableCausticsOnGround is checked.
  2. Adjust the GroundCaustics parameters (DarknessExposure, MaximumDarkness, MinimumDarkness, WetAlpha) to your liking.

The Lake actor automatically:

  • Creates a Decal Component positioned below the water surface
  • Loads the default caustics material (M_Caustics_Decal_Inst)
  • Creates a Dynamic Material Instance and applies your parameters
  • Projects caustics onto any geometry within the decal volume

Decal Coverage: The default decal scale covers a 30x30 area relative to the lake mesh. For larger lakes, you may need to increase the scale of the CausticsComponent in the Details panel under the component hierarchy.

Lake caustics decal


Light Function Materials

The plugin provides three caustics materials for different lighting scenarios:

MaterialLocationPurpose
M_Caustics_Decal_InstMaterials/Decal/CausticsDL/Ground projection for Lakes (Decal)
M_CausticsDireccional_LightInstMaterials/LightFunction/CausticsDL/Directional Light caustics (Infinite Ocean)
M_CausticsPointLight_InstMaterials/LightFunction/CausticsPL/Point Light caustics (local lights underwater)

Material Functions

FunctionPurpose
MF_CausticFramesControls flipbook animation timing for caustic patterns
MF_OceanCaustics_SubUVAnimationSub-UV animation for caustic texture playback
MF_Oceanology_CausticsDirectionalLightCore caustics calculation for directional light projection

Presets

Caustics settings can be saved and loaded via Data Asset presets:

  1. In the Content Browser, right-click and select Miscellaneous > Data Asset
  2. Choose OceanologyWaterCausticsPreset
  3. Configure the preset with your desired Caustics, EnableCausticsOnGround, and GroundCaustics values
  4. Apply the preset to any water actor at runtime or in the editor

An example preset is available at: Plugins > Oceanology NextGen > Presets > Grouped > Caustics > DA_Caustics_Example


Parameter Reference

Ground Caustics

ParameterRangeDefaultEffect
DarknessExposure0.5 - 10.02.5Caustic brightness and definition
MaximumDarkness-10000.0 - 0.0-4000.0Maximum depth for caustics visibility
MinimumDarkness-100.0 - 0.0-10.0Shallow water caustics threshold
WetAlpha0.0 - 50.010.0Wet surface alpha intensity

Surface Caustics

ParameterRangeDefaultEffect
FadeDistance0.1 - 10.01.0Caustics fade distance
MultiplyRefraction0.5 - 3.01.333Refraction intensity multiplier

Configuration Guidelines

ScenarioKey Settings
Bright tropical shallowsDarknessExposure: 4.0, MinimumDarkness: -5.0, WetAlpha: 15.0
Deep ocean subtleDarknessExposure: 1.5, MaximumDarkness: -2000.0
Indoor poolDarknessExposure: 3.0, MaximumDarkness: -500.0, MinimumDarkness: -2.0
Disable ground causticsEnableCausticsOnGround: Disabled

Troubleshooting

ProblemLikely CauseSolution
No caustics on ground (Infinite Ocean)Missing Light Source ControllerPlace Oceanology Light Source Controller and link it to water + Directional Light
No caustics on ground (Lake)EnableCausticsOnGround disabledCheck the EnableCausticsOnGround toggle on the Lake actor
Caustics too faintDarknessExposure too lowIncrease DarknessExposure value
Caustics visible at wrong depthMinimumDarkness/MaximumDarkness rangeAdjust depth range to match your scene
Caustics flickerLight Function conflictEnsure only one Light Source Controller references the same Directional Light
Caustics don't animateMaterial not properly assignedVerify the Light Source Controller has the correct material references
Caustics appear on wrong surfacesDecal scale too large (Lake)Reduce the CausticsComponent scale

Summary

In this guide, you learned how to:

  1. Understand the two caustics systems - Light Functions for Infinite Ocean and Decals for Lakes.
  2. Place the Light Source Controller - Required actor for Infinite Ocean ground caustics.
  3. Configure caustics parameters - DarknessExposure, depth range, and wet alpha for realistic light patterns.
  4. Set up Lake caustics - Built-in decal system with automatic configuration.
  5. Use caustics materials - Directional Light, Point Light, and Decal material options.
  6. Save presets - Store and share caustics configurations across levels.

With caustics properly configured, your water environments will display realistic light patterns on the terrain and objects beneath the surface, adding significant visual depth to both ocean and lake scenes.