Skip to main content
Caustics (Light Function)
preview · 1 / 3

Description

Procedural underwater caustics that ride on a light.

Drop this material into any Spot or Directional light's Light Function slot and it projects the rippling, focused light you see on a pool floor, a flooded corridor, or an ocean bed animated, seamless, and generated entirely in-shader.

No textures. The caustic web is built from a two-octave animated Voronoi pattern, so it tiles forever, never loops, and ships as one self-contained graph you can paste and read end to end.

Prefer your own art? Flip one switch to bring your own caustic texture

Required setup: create a Material, set Material Domain = Light Function, paste the graph, wire the result into Emissive Color, and assign it to a Spot or Directional light's Light Function Material slot. Tune the light's Light Function Scale for on-ground size. Best on Spot and Directional lights; Point lights project it spherically and read weakly.

material graph

Preview only · open in editor for full material editing

Want this graph on your blog or forum?

0 comments

Sign in to join the discussion.

No comments yet. Be the first.

source
View T3D source (78 KB)expand
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_0"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C0"
   End Object
   Begin Object Name="MaterialExpressionComment_C0"
      SizeX=520
      SizeY=520
      Text="01 Pattern"
      CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=-620
      MaterialExpressionGuid=8768A7512F94D59E400ED9F6A3140B02
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
   CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
   NodePosX=-1280
   NodePosY=-620
   NodeWidth=520
   NodeHeight=520
   NodeComment="01 Pattern"
   NodeGuid=4E177998236478C7DA36568750DC9E3F
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C1"
   End Object
   Begin Object Name="MaterialExpressionComment_C1"
      SizeX=520
      SizeY=360
      Text="02 Motion"
      CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=-40
      MaterialExpressionGuid=85395BDADC492071ABFD40591F4E44AB
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C1'"
   CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
   NodePosX=-1280
   NodePosY=-40
   NodeWidth=520
   NodeHeight=360
   NodeComment="02 Motion"
   NodeGuid=ADE7EAB4836784EF5651059CB601A71E
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_2"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C2"
   End Object
   Begin Object Name="MaterialExpressionComment_C2"
      SizeX=520
      SizeY=360
      Text="03 Look"
      CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=380
      MaterialExpressionGuid=B5A2B7A394C0156BD487AEFD6802352F
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C2'"
   CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
   NodePosX=-1280
   NodePosY=380
   NodeWidth=520
   NodeHeight=360
   NodeComment="03 Look"
   NodeGuid=564DE5719FD3276958452B577F95B541
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_3"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C3"
   End Object
   Begin Object Name="MaterialExpressionComment_C3"
      SizeX=1320
      SizeY=520
      Text="05 Texture (optional source)"
      CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
      MaterialExpressionEditorX=-328
      MaterialExpressionEditorY=317
      MaterialExpressionGuid=706E2EA4AF082288C771E073A61DB8B0
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C3'"
   CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
   NodePosX=-328
   NodePosY=317
   NodeWidth=1320
   NodeHeight=520
   NodeComment="05 Texture (optional source)"
   NodeGuid=221AD208EC0A9CF58394A76031F9DC05
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_4"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C4"
   End Object
   Begin Object Name="MaterialExpressionComment_C4"
      SizeX=560
      SizeY=520
      Text="Emissive Color"
      CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
      MaterialExpressionEditorX=560
      MaterialExpressionEditorY=-380
      MaterialExpressionGuid=50C8321C56C6695C30358A676BEB8140
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C4'"
   CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
   NodePosX=560
   NodePosY=-380
   NodeWidth=560
   NodeHeight=520
   NodeComment="Emissive Color"
   NodeGuid=AF663BDECE60554C4E2461F67164C861
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_5"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_5"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_5"
      ParameterName="Tiling"
      DefaultValue=6
      SliderMin=1
      SliderMax=32
      Group="01 Pattern"
      Desc="Caustic cell density across the light's projection. Higher = more, smaller cells. Pair with the light's Light Function Scale for final on-ground size."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=-520
      MaterialExpressionGuid=DC249044804E3A08F7AA7BBFF0FB229E
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_5'"
   NodePosX=-1240
   NodePosY=-520
   NodeGuid=CC0B30BA1940259ECDBD31B4CD149D5F
   CustomProperties Pin (PinId=8E0FAC13E599BBC284F88B97583BCD75,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 271AFED19C98780E44558F69C00FED45,MaterialGraphNode_15 F51AAFE6F25606C64F4CA29B4719EC34,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_6"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_6"
      ParameterName="Contrast"
      DefaultValue=1.6
      SliderMin=0.5
      SliderMax=6
      Group="01 Pattern"
      Desc="Sharpness of the caustic threads. Higher = thinner, harder-edged bright lines; lower = soft glowing bands."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=-360
      MaterialExpressionGuid=167AF1833340AED96DC1013A74A0FA1D
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_6'"
   NodePosX=-1240
   NodePosY=-360
   NodeGuid=F7D2A441098F7BA4D638F88DE7AFC2A8
   CustomProperties Pin (PinId=737DE26B1C2555424CA8D601FA432C98,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 31449E20D06467DDB7D5A728577D3F06,MaterialGraphNode_25 DB3D999D5EE3CE3A43508D8BF5461E06,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_7"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_7"
      ParameterName="LayerBlend"
      DefaultValue=0
      SliderMin=0
      SliderMax=1
      Group="01 Pattern"
      Desc="Cross-fade between the two caustic octaves. 0 = Min (crisp interlocking web), 1 = Add (brighter, softer overlap)."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=-200
      MaterialExpressionGuid=15BE3C63BA46BBECF8EAF708827A9915
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_7'"
   NodePosX=-1240
   NodePosY=-200
   NodeGuid=E924629B7F2A8011EB1BEDB3EF88CA6A
   CustomProperties Pin (PinId=22D7ABEF8E5D7150F52507C681ADA974,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 4E93FCF3D579F1760EE8EAB571E6288D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_8"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_8"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_8"
      ParameterName="FlowSpeed"
      DefaultValue=0.15
      SliderMin=0
      SliderMax=1
      Group="02 Motion"
      Desc="How fast the caustic cells drift and shimmer. The two octaves move in opposite directions so the pattern never reads as a single sliding texture."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=60
      MaterialExpressionGuid=02188F824BEF45607584DA7264F08645
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_8'"
   NodePosX=-1240
   NodePosY=60
   NodeGuid=5B84310EC2E3BDB40F51403B3869DF97
   CustomProperties Pin (PinId=822923B6E3CD86D9B103DC434CC1BEF4,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 08554DA906E0BEE77EBF8A6E7C0C67F5,MaterialGraphNode_18 075476D02ABF7F3957409F764281A491,MaterialGraphNode_19 6C170F389184D06053BFF8C8BA7FC80F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_9"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_9"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_9"
      ParameterName="WarpAmount"
      DefaultValue=0.12
      SliderMin=0
      SliderMax=0.5
      Group="02 Motion"
      Desc="Organic domain warp that bends the caustic threads into curved, refracted-looking shapes. 0 = straight grid-like cells."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=220
      MaterialExpressionGuid=5EF94AE95F94CED8CC5DB4ED10F948D9
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_9'"
   NodePosX=-1240
   NodePosY=220
   NodeGuid=9DB8D37BA97521AE631B79C1C31DE374
   CustomProperties Pin (PinId=06FFD748C1A8DBF05235FA229218ECE5,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 5EE274E982CCB10066C28F3BD692EF51,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_10"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_10"
      ParameterName="ChromaticAberration"
      DefaultValue=0
      SliderMin=0
      SliderMax=1
      Group="03 Look"
      Desc="Rainbow fringe along the caustic edges from the water surface splitting the light. Subtle values (0.1-0.3) read best; 0 = pure white caustics."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=480
      MaterialExpressionGuid=2C9490E54DC592E4E9EBE6CC4AAAD90B
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_10'"
   NodePosX=-1240
   NodePosY=480
   NodeGuid=ADA5F2D044579C27E9E627F10EDDA6B8
   CustomProperties Pin (PinId=0A113A9353318C0293FE926B1C283EFF,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 A99CB2A54703270D6E9A49B0E5E86B77,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_11"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_11"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_11"
      ParameterName="EdgeFalloff"
      DefaultValue=0
      SliderMin=0
      SliderMax=1
      Group="03 Look"
      Desc="Radial vignette that fades the caustics toward the edge of the projection — useful to hide the hard rim of a spot light's cone. 0 = full, even coverage."
      MaterialExpressionEditorX=-1240
      MaterialExpressionEditorY=640
      MaterialExpressionGuid=470A001F5C076F454BFF5E16F9940329
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_11'"
   NodePosX=-1240
   NodePosY=640
   NodeGuid=1C013AD9F7A2AE564873BD2635190BB8
   CustomProperties Pin (PinId=B5110D17B36931736CB3BB5B588C1A00,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 B4531562FB5BF2941C6C96AA9B338C1E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_12"
   Begin Object Class=/Script/Engine.MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_12"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_12"
      CoordinateIndex=0
      UTiling=1
      VTiling=1
      MaterialExpressionEditorX=-600
      MaterialExpressionEditorY=-360
      MaterialExpressionGuid=4EF94E8DB0D6AFC2CE2B990F3DDB474F
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_12'"
   NodePosX=-600
   NodePosY=-360
   NodeGuid=753FC75C379A7F29BD08EC8C55E86C3B
   CustomProperties Pin (PinId=D8C5AB253C2C43D0C83F70CE8608F7B8,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 0E988401D7ED0E5A657F89465917A06D,MaterialGraphNode_15 B0CBE6397DF2721FC98F280458E96DF9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_13"
   Begin Object Class=/Script/Engine.MaterialExpressionTime Name="MaterialExpressionTime_13"
   End Object
   Begin Object Name="MaterialExpressionTime_13"
      MaterialExpressionEditorX=-600
      MaterialExpressionEditorY=-180
      MaterialExpressionGuid=8417181CB7227B0D68C3924F3770EA24
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionTime'MaterialExpressionTime_13'"
   NodePosX=-600
   NodePosY=-180
   NodeGuid=C8C7398AEA093AF074A56C129EF0B0BD
   CustomProperties Pin (PinId=AC21DA15721726DD3D8AB772919D4365,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 021638C538A299DB9C83AD764323A804,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Custom Name="MaterialGraphNode_Custom_14"
   Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_14"
   End Object
   Begin Object Name="MaterialExpressionCustom_14"
      Code="// Animated Voronoi border-web caustics, two octaves + chromatic split. Returns RGB caustic mask 0..1.\r\n#define HASH2(P) frac(sin(float2(dot((P),float2(127.1,311.7)),dot((P),float2(269.5,183.3))))*43758.5453)\r\n\r\n// organic domain warp so the threads curve like refracted light\r\nfloat2 wuv = UV*(Tiling*0.5) + Time*0.2;\r\nfloat2 baseUV = UV*Tiling + float2(sin(wuv.x*3.1+wuv.y*1.7), cos(wuv.x*1.9-wuv.y*2.3))*WarpAmount;\r\n\r\nfloat t = Time*FlowSpeed;\r\nfloat2 ca = float2(Chromatic,-Chromatic)*0.15;\r\nfloat3 outRGB = 0;\r\n\r\n[unroll] for (int ci=0; ci<3; ci++)\r\n{\r\n    float2 off = (ci==0)?ca:((ci==2)?-ca:(float2)0);   // R / B tap offset, G centred\r\n    float web = 0;\r\n\r\n    [unroll] for (int L=0; L<2; L++)\r\n    {\r\n        float scale = (L==0)?1.0:1.7;\r\n        float lt    = (L==0)? t : (-t*1.3);             // octaves drift opposite ways\r\n        float bw    = (L==0)?0.18:0.14;\r\n        float2 p = (baseUV+off)*scale + L*5.2;\r\n\r\n        float2 ip = floor(p), fp = frac(p);\r\n        float f1=8.0, f2=8.0;\r\n        [unroll] for (int j=-1;j<=1;j++)\r\n        [unroll] for (int i=-1;i<=1;i++)\r\n        {\r\n            float2 g = float2(i,j);\r\n            float2 o = HASH2(ip+g);\r\n            o = 0.5+0.5*sin(lt+6.2831*o);              // drift each cell point smoothly (TSR-safe, no per-frame reseed)\r\n            float2 rv = g+o-fp;\r\n            float d = dot(rv,rv);\r\n            if (d<f1){f2=f1;f1=d;} else if (d<f2){f2=d;}\r\n        }\r\n        float ew = 1.0-smoothstep(0.0,bw,sqrt(f2)-sqrt(f1)); // bright thread along equidistant cell borders\r\n        web = (L==0)?ew:lerp(min(web,ew),saturate(web+ew),LayerBlend);\r\n    }\r\n    outRGB[ci] = pow(saturate(web),max(Contrast,0.01));\r\n}\r\n\r\n// radial vignette for spot projection; EdgeFalloff 0 = full coverage\r\nfloat rr = length(UV-0.5)*2.0;\r\nfloat edge = lerp(1.0, saturate(1.0-(rr-(1.0-EdgeFalloff))/max(EdgeFalloff,1e-3)), step(1e-4,EdgeFalloff));\r\nreturn outRGB*edge;\r\n"
      OutputType=CMOT_Float3
      Description="Caustics_Engine"
      ShowCode=True
      bShowOutputNameOnPin=True
      Inputs(0)=(InputName="UV",Input=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_12.MaterialExpressionTextureCoordinate_12'"))
      Inputs(1)=(InputName="Time",Input=(Expression="/Script/Engine.MaterialExpressionTime'MaterialGraphNode_13.MaterialExpressionTime_13'"))
      Inputs(2)=(InputName="Tiling",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_5.MaterialExpressionScalarParameter_5'"))
      Inputs(3)=(InputName="Contrast",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_6.MaterialExpressionScalarParameter_6'"))
      Inputs(4)=(InputName="LayerBlend",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_7.MaterialExpressionScalarParameter_7'"))
      Inputs(5)=(InputName="FlowSpeed",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_8'"))
      Inputs(6)=(InputName="WarpAmount",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_9.MaterialExpressionScalarParameter_9'"))
      Inputs(7)=(InputName="Chromatic",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_10.MaterialExpressionScalarParameter_10'"))
      Inputs(8)=(InputName="EdgeFalloff",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_11.MaterialExpressionScalarParameter_11'"))
      Desc="Procedural caustics engine: two-octave animated Voronoi border-web, Min/Add layer blend, domain warp, chromatic split and radial falloff. Outputs an RGB caustic mask (0..1). No textures, no UVs beyond TexCoord0."
      MaterialExpressionEditorX=-163
      MaterialExpressionEditorY=-597
      MaterialExpressionGuid=84BDD4439335542A469ECF6505807CBF
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionCustom'MaterialExpressionCustom_14'"
   NodePosX=-163
   NodePosY=-597
   NodeGuid=005CEF6FBEC6018E6BE46587F603B7E1
   CustomProperties Pin (PinId=0E988401D7ED0E5A657F89465917A06D,PinName="UV",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_12 D8C5AB253C2C43D0C83F70CE8608F7B8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=021638C538A299DB9C83AD764323A804,PinName="Time",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 AC21DA15721726DD3D8AB772919D4365,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=271AFED19C98780E44558F69C00FED45,PinName="Tiling",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_5 8E0FAC13E599BBC284F88B97583BCD75,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=31449E20D06467DDB7D5A728577D3F06,PinName="Contrast",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 737DE26B1C2555424CA8D601FA432C98,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=4E93FCF3D579F1760EE8EAB571E6288D,PinName="LayerBlend",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 22D7ABEF8E5D7150F52507C681ADA974,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=08554DA906E0BEE77EBF8A6E7C0C67F5,PinName="FlowSpeed",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 822923B6E3CD86D9B103DC434CC1BEF4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=5EE274E982CCB10066C28F3BD692EF51,PinName="WarpAmount",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_9 06FFD748C1A8DBF05235FA229218ECE5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=A99CB2A54703270D6E9A49B0E5E86B77,PinName="Chromatic",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_10 0A113A9353318C0293FE926B1C283EFF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=B4531562FB5BF2941C6C96AA9B338C1E,PinName="EdgeFalloff",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 B5110D17B36931736CB3BB5B588C1A00,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=245299AE9E75EA99E72D58177B8D2862,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_26 973A01DCB2596B4AD191C00BBE5A834E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_15"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_15"
   End Object
   Begin Object Name="MaterialExpressionMultiply_15"
      A=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_12.MaterialExpressionTextureCoordinate_12'")
      B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_5.MaterialExpressionScalarParameter_5'")
      MaterialExpressionEditorX=-268
      MaterialExpressionEditorY=397
      MaterialExpressionGuid=2D2703D0FC0270987335E8CA02BA2A87
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_15'"
   NodePosX=-268
   NodePosY=397
   NodeGuid=31AD15A942BB121BE747058591B1AEEA
   CustomProperties Pin (PinId=B0CBE6397DF2721FC98F280458E96DF9,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_12 D8C5AB253C2C43D0C83F70CE8608F7B8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=F51AAFE6F25606C64F4CA29B4719EC34,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_5 8E0FAC13E599BBC284F88B97583BCD75,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=9E32626121F768410E2E4D739CBFFFF7,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 8DB49982A8D9888BBDFCE13DBF086AD6,MaterialGraphNode_21 211E5D2BD0B26F2F94795E4A08B7C76B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_16"
   Begin Object Class=/Script/Engine.MaterialExpressionConstant2Vector Name="MaterialExpressionConstant2Vector_16"
   End Object
   Begin Object Name="MaterialExpressionConstant2Vector_16"
      R=0.6
      G=0.35
      MaterialExpressionEditorX=-268
      MaterialExpressionEditorY=577
      MaterialExpressionGuid=EF7385D5DEEA2611101F5E204176A8A6
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialExpressionConstant2Vector_16'"
   NodePosX=-268
   NodePosY=577
   NodeGuid=28C4B610ACE41CEE5476C7AEF751132A
   CustomProperties Pin (PinId=C140EB5CD36453705FA08ADE2453754F,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_18 ABA69F4B2EC5E0A6E39C83B4E4D7DFB8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_17"
   Begin Object Class=/Script/Engine.MaterialExpressionConstant2Vector Name="MaterialExpressionConstant2Vector_17"
   End Object
   Begin Object Name="MaterialExpressionConstant2Vector_17"
      R=-0.45
      G=0.55
      MaterialExpressionEditorX=-268
      MaterialExpressionEditorY=717
      MaterialExpressionGuid=49C6F1FF9BF122CC8EE77CD69F018615
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialExpressionConstant2Vector_17'"
   NodePosX=-268
   NodePosY=717
   NodeGuid=2C9EFA858E6C0AFCF1E059A645A36DA9
   CustomProperties Pin (PinId=F358C1BC959171F9C954C1416043E919,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_19 74327ED4895FB9462A7D7C8F5B737967,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_18"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_18"
   End Object
   Begin Object Name="MaterialExpressionMultiply_18"
      A=(Expression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialGraphNode_16.MaterialExpressionConstant2Vector_16'")
      B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_8'")
      MaterialExpressionEditorX=-88
      MaterialExpressionEditorY=577
      MaterialExpressionGuid=6A604A03F1C17163CDFA5B941F1900B7
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_18'"
   NodePosX=-88
   NodePosY=577
   NodeGuid=0E6930DCA92B0CAD38ABDE4A3BAAE075
   CustomProperties Pin (PinId=ABA69F4B2EC5E0A6E39C83B4E4D7DFB8,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_16 C140EB5CD36453705FA08ADE2453754F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=075476D02ABF7F3957409F764281A491,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 822923B6E3CD86D9B103DC434CC1BEF4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=9067CEBADE549D69CE8EC86B2FE54AE8,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 C4EE0044947B86BC26DFB9EFB17A0B0C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_19"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_19"
   End Object
   Begin Object Name="MaterialExpressionMultiply_19"
      A=(Expression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialGraphNode_17.MaterialExpressionConstant2Vector_17'")
      B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_8'")
      MaterialExpressionEditorX=-88
      MaterialExpressionEditorY=717
      MaterialExpressionGuid=FC7572E65EEFE46ABB4A39BB1C5B0E79
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_19'"
   NodePosX=-88
   NodePosY=717
   NodeGuid=F76E144CEF79E71B428A2E1D247CAAB0
   CustomProperties Pin (PinId=74327ED4895FB9462A7D7C8F5B737967,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_17 F358C1BC959171F9C954C1416043E919,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=6C170F389184D06053BFF8C8BA7FC80F,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 822923B6E3CD86D9B103DC434CC1BEF4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=D72A0452762C8BD2C4DA2FE946653900,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_21 E678C0BD92DE3829993BBD02D4BE07F1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_20"
   Begin Object Class=/Script/Engine.MaterialExpressionPanner Name="MaterialExpressionPanner_20"
   End Object
   Begin Object Name="MaterialExpressionPanner_20"
      Coordinate=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_15.MaterialExpressionMultiply_15'")
      Speed=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_18.MaterialExpressionMultiply_18'")
      MaterialExpressionEditorX=92
      MaterialExpressionEditorY=437
      MaterialExpressionGuid=237F8617A9542D04C33B1F229BD29702
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionPanner'MaterialExpressionPanner_20'"
   NodePosX=92
   NodePosY=437
   NodeGuid=C5ECAA52334308024D0F3241EE06F7FD
   CustomProperties Pin (PinId=8DB49982A8D9888BBDFCE13DBF086AD6,PinName="Coordinate",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_15 9E32626121F768410E2E4D739CBFFFF7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=88CE5C56388692A9F0CCF0A107D10074,PinName="Time",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=C4EE0044947B86BC26DFB9EFB17A0B0C,PinName="Speed",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_18 9067CEBADE549D69CE8EC86B2FE54AE8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=D36B6FCCAD9DEC2BA88373FE941D8D2D,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_22 A4859940A27E2CB8D2FC49139CD2AB82,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_21"
   Begin Object Class=/Script/Engine.MaterialExpressionPanner Name="MaterialExpressionPanner_21"
   End Object
   Begin Object Name="MaterialExpressionPanner_21"
      Coordinate=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_15.MaterialExpressionMultiply_15'")
      Speed=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_19.MaterialExpressionMultiply_19'")
      MaterialExpressionEditorX=92
      MaterialExpressionEditorY=657
      MaterialExpressionGuid=44FEEB3D60FA68615E71E8142D418C06
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionPanner'MaterialExpressionPanner_21'"
   NodePosX=92
   NodePosY=657
   NodeGuid=FD3138AD47DCF16FA9F44BBE7E0F502E
   CustomProperties Pin (PinId=211E5D2BD0B26F2F94795E4A08B7C76B,PinName="Coordinate",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_15 9E32626121F768410E2E4D739CBFFFF7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=F03C896F0E2FEE057B9E6F7E9BA636AB,PinName="Time",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=E678C0BD92DE3829993BBD02D4BE07F1,PinName="Speed",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_19 D72A0452762C8BD2C4DA2FE946653900,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=04D6E49ED0F9EC6A8135C6A46FBDDD22,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 7CC3507683D599EAFAF6A3E140E18E71,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_22"
   Begin Object Class=/Script/Engine.MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_22"
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_22"
      ParameterName="CausticTexture"
      Group="05 Texture"
      Texture=Texture2D'/Engine/EngineResources/DefaultTexture.DefaultTexture'
      SamplerType=SAMPLERTYPE_SAMPLERTYPE_Color
      Desc="Optional caustic texture, used when UseTexture is on. A tiling grayscale caustic map reads best; set its address mode to Wrap. Both panned samples share this one parameter."
      Coordinates=(Expression="/Script/Engine.MaterialExpressionPanner'MaterialGraphNode_20.MaterialExpressionPanner_20'")
      MaterialExpressionEditorX=292
      MaterialExpressionEditorY=397
      MaterialExpressionGuid=6031BE28732F3F466698D49617DB9DED
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_22'"
   NodePosX=292
   NodePosY=397
   NodeGuid=B590C66DC0D19C2917D44ED77C0B9B80
   CustomProperties Pin (PinId=A4859940A27E2CB8D2FC49139CD2AB82,PinName="UVs",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 D36B6FCCAD9DEC2BA88373FE941D8D2D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=AD05B905C9D6B99595E238E2DDFB662A,PinName="ApplyViewMipBias",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=AEB0FF70830C80182BE8D48C8D26BBF9,PinName="RGB",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_24 A7848843477F763A1EB87625C5E73480,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=E8B9BE0F8C1B64C59C9F36FDB6E9D40F,PinName="R",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=3ADE1669AEF6A4491D8609CEF96ADF23,PinName="G",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=C7EF684C3E07BEF1B838EC6A1EC64A23,PinName="B",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=F8287627299ADDB040DF67EDE059F727,PinName="A",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=F5732666822DB947C6870CBA3C308E47,PinName="RGBA",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_23"
   Begin Object Class=/Script/Engine.MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_23"
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_23"
      ParameterName="CausticTexture"
      Group="05 Texture"
      Texture=Texture2D'/Engine/EngineResources/DefaultTexture.DefaultTexture'
      SamplerType=SAMPLERTYPE_SAMPLERTYPE_Color
      Desc="Optional caustic texture, used when UseTexture is on. A tiling grayscale caustic map reads best; set its address mode to Wrap. Both panned samples share this one parameter."
      Coordinates=(Expression="/Script/Engine.MaterialExpressionPanner'MaterialGraphNode_21.MaterialExpressionPanner_21'")
      MaterialExpressionEditorX=292
      MaterialExpressionEditorY=637
      MaterialExpressionGuid=EF4F372AB4F3DC8DCF3125613C2A3FF1
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_23'"
   NodePosX=292
   NodePosY=637
   NodeGuid=EDABBED20108CB8200A2055F41284C14
   CustomProperties Pin (PinId=7CC3507683D599EAFAF6A3E140E18E71,PinName="UVs",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_21 04D6E49ED0F9EC6A8135C6A46FBDDD22,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=78E317242083BC97130F28D64C3FD58D,PinName="ApplyViewMipBias",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=413238DE083235CF809A74D1E566916A,PinName="RGB",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_24 43EAEA57C0EB3689892CF01890969C77,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=C11311130BB092894E1F165F4D5382D3,PinName="R",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=267D80F0AB5C0328FDB643437427162B,PinName="G",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=CA99D2877E9F1D42B35A4E2F0DF787A9,PinName="B",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=01C9572C9FD14CACB6FD535EEAB3DD60,PinName="A",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=E958C94CAC1BA98FCC7CB9FEEF7472AA,PinName="RGBA",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_24"
   Begin Object Class=/Script/Engine.MaterialExpressionMin Name="MaterialExpressionMin_24"
   End Object
   Begin Object Name="MaterialExpressionMin_24"
      A=(Expression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_22.MaterialExpressionTextureSampleParameter2D_22'")
      B=(Expression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_23.MaterialExpressionTextureSampleParameter2D_23'")
      MaterialExpressionEditorX=512
      MaterialExpressionEditorY=497
      MaterialExpressionGuid=C942D31B640465A11C044FF9D53E2394
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionMin'MaterialExpressionMin_24'"
   NodePosX=512
   NodePosY=497
   NodeGuid=E0D477F1337E61D93B8CB774DC5886DD
   CustomProperties Pin (PinId=A7848843477F763A1EB87625C5E73480,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_22 AEB0FF70830C80182BE8D48C8D26BBF9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=43EAEA57C0EB3689892CF01890969C77,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 413238DE083235CF809A74D1E566916A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=DB0CBE42497C82C807C1F77FE5523965,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 19F07186DA72825FC302FE882870E280,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_25"
   Begin Object Class=/Script/Engine.MaterialExpressionPower Name="MaterialExpressionPower_25"
   End Object
   Begin Object Name="MaterialExpressionPower_25"
      Base=(Expression="/Script/Engine.MaterialExpressionMin'MaterialGraphNode_24.MaterialExpressionMin_24'")
      Exponent=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_6.MaterialExpressionScalarParameter_6'")
      MaterialExpressionEditorX=672
      MaterialExpressionEditorY=517
      MaterialExpressionGuid=F143C6428332BF46E486AF81702DD9F3
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionPower'MaterialExpressionPower_25'"
   NodePosX=672
   NodePosY=517
   NodeGuid=3D84E766B6A1F72C548B2F94A8DDA9D7
   CustomProperties Pin (PinId=19F07186DA72825FC302FE882870E280,PinName="Base",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_24 DB0CBE42497C82C807C1F77FE5523965,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=DB3D999D5EE3CE3A43508D8BF5461E06,PinName="Exp",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 737DE26B1C2555424CA8D601FA432C98,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=57DA3FD083F981DAB63806C7A342DD46,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_26 B35788847CB4B8D84E8748C93BAF2C40,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_26"
   Begin Object Class=/Script/Engine.MaterialExpressionStaticSwitchParameter Name="MaterialExpressionStaticSwitchParameter_26"
   End Object
   Begin Object Name="MaterialExpressionStaticSwitchParameter_26"
      ParameterName="UseTexture"
      DefaultValue=False
      Group="05 Texture"
      Desc="Pattern source. Off = procedural Voronoi engine (default, zero textures). On = your own CausticTexture, panned in two directions and combined with Min — a simpler path that is Light Function Atlas-eligible, for running many caustic lights cheaply. Warp, Layer Blend, Chromatic and Edge Falloff apply to the procedural engine only."
      A=(Expression="/Script/Engine.MaterialExpressionPower'MaterialGraphNode_25.MaterialExpressionPower_25'")
      B=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_14.MaterialExpressionCustom_14'")
      MaterialExpressionEditorX=852
      MaterialExpressionEditorY=477
      MaterialExpressionGuid=325CB812394F4ACF3DEA5B913C5A8E14
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialExpressionStaticSwitchParameter_26'"
   NodePosX=852
   NodePosY=477
   NodeGuid=DC17118E2E3720AA184674537C6E7097
   CustomProperties Pin (PinId=B35788847CB4B8D84E8748C93BAF2C40,PinName="True",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 57DA3FD083F981DAB63806C7A342DD46,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=973A01DCB2596B4AD191C00BBE5A834E,PinName="False",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_14 245299AE9E75EA99E72D58177B8D2862,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=977093BD40FCA3E8A7F683F5D04C4487,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 6225EA2B29D326BD20CA26EAA6C35440,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_27"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_27"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_27"
      ParameterName="Intensity"
      DefaultValue=1.8
      SliderMin=0
      SliderMax=5
      Group="04 Output"
      Desc="Light brightness at the caustic peaks. Values above 1 brighten the light where the threads focus. Lives in the Emissive Color frame because it only feeds the output."
      MaterialExpressionEditorX=600
      MaterialExpressionEditorY=-280
      MaterialExpressionGuid=A01D07569051290EC1775C2C565F2CFE
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_27'"
   NodePosX=600
   NodePosY=-280
   NodeGuid=B3DAFE1251D2596F8AF061168388AC46
   CustomProperties Pin (PinId=5E63308A84B1866740897133414954B9,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 C17174E138EA4C1C9FEF5C3D1AC1986F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_28"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_28"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_28"
      ParameterName="BrightnessFloor"
      DefaultValue=0.15
      SliderMin=0
      SliderMax=1
      Group="04 Output"
      Desc="Light brightness in the dark cells between threads. Keep above 0 so the light dims rather than fully blacking out. Lives in the Emissive Color frame because it only feeds the output."
      MaterialExpressionEditorX=600
      MaterialExpressionEditorY=-120
      MaterialExpressionGuid=08F692E484F51AA4EEB1D71FA3016AFD
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_28'"
   NodePosX=600
   NodePosY=-120
   NodeGuid=555DFC40F97B11615D78C83B45BD53D8
   CustomProperties Pin (PinId=C0349AD8EBD7B845CAC5AD7F17599AEC,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 5501129F84DA3E33A0EA30FDDD280453,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_29"
   Begin Object Class=/Script/Engine.MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_29"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_29"
      A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_28.MaterialExpressionScalarParameter_28'")
      B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_27.MaterialExpressionScalarParameter_27'")
      Alpha=(Expression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialGraphNode_26.MaterialExpressionStaticSwitchParameter_26'")
      MaterialExpressionEditorX=900
      MaterialExpressionEditorY=-200
      MaterialExpressionGuid=33CB534CF2AA0972D7415967357F2490
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_29'"
   NodePosX=900
   NodePosY=-200
   NodeGuid=0A7141B45DCB16775A6FC69700598A9E
   CustomProperties Pin (PinId=5501129F84DA3E33A0EA30FDDD280453,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 C0349AD8EBD7B845CAC5AD7F17599AEC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=C17174E138EA4C1C9FEF5C3D1AC1986F,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_27 5E63308A84B1866740897133414954B9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=6225EA2B29D326BD20CA26EAA6C35440,PinName="Alpha",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_26 977093BD40FCA3E8A7F683F5D04C4487,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=CA50C1A699452BBBA1B96028FA5FB094,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Root_30 61BBC9B65ACD2EA25162E760E35D94A8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Root Name="MaterialGraphNode_Root_30"
   Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   NodePosX=1260
   NodePosY=-160
   NodeGuid=98C506E47FF3261F0B0584F71DCAEF01
   CustomProperties Pin (PinId=61BBC9B65ACD2EA25162E760E35D94A8,PinName="Emissive Color",PinType.PinCategory="materialinput",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 CA50C1A699452BBBA1B96028FA5FB094,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Nodes: ScalarParameter (x9), Comment (x5), Multiply (x3), Constant2Vector (x2), Panner (x2), TextureSampleParameter2D (x2), Custom, LinearInterpolate, Material, Min, Power, StaticSwitchParameter, TextureCoordinate, Time

more from @hazesee all

Water Puddle

@hazeUE 5.7

Holographic Signs

@hazeUE 5.6+

Fog Card

@hazeUE 5.6+

More like this

Fog Card

@hazeUE 5.6+

World-Aligned Triplanar

@hazeUE 5.6+

Procedural Edge Wear

@eeveeUE 5.6

Caustics (Light Function)

@hazefounder
UE 5.5UE 5.6UE 5.7

2
license

CC0 1.0: Public Domain

Public domain: use it however you like, no credit required.

dependencies

Zero dependencies

Pastes and works in any UE 5.3+ project. No textures, no material functions, no MPCs.

ue compatibility
UE 5.3UE 5.4UE 5.5UE 5.6UE 5.7

Details

Last update
3 days ago
Published
3 days ago
Nodes
31