At first i liked blueprints, but now i hate them.

[=jrboddie;362266]
I’m not yet familiar with Blueprint programming but I thought it is very cool that in Stingray, if you cut and paste a block of nodes into Notepad, you can see the code (Lua). The reverse works as well–code to node.

The same system exists in Blueprint too! Copy the below code and paste it in a graph.


Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_3181"   Begin Object Class=EdGraphPin Name="EdGraphPin_38928"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38927"
   End Object
   Begin Object Name="EdGraphPin_38928"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_53.EdGraphPin_38934'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_94.EdGraphPin_38957'
   End Object
   Begin Object Name="EdGraphPin_38927"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="GetPI")
   Pins(0)=EdGraphPin'EdGraphPin_38927'
   Pins(1)=EdGraphPin'EdGraphPin_38928'
   NodePosX=992
   NodePosY=448
   NodeGuid=AA5169984A6264D2D7826A8C66E8601B
End Object
Begin Object Class=K2Node_CommutativeAssociativeBinaryOperator Name="K2Node_CommutativeAssociativeBinaryOperator_53"
   Begin Object Class=EdGraphPin Name="EdGraphPin_38936"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38935"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38934"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38933"
   End Object
   Begin Object Name="EdGraphPin_38936"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_54.EdGraphPin_38946'
   End Object
   Begin Object Name="EdGraphPin_38935"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="2"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_38934"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3181.EdGraphPin_38928'
   End Object
   Begin Object Name="EdGraphPin_38933"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Multiply_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_38933'
   Pins(1)=EdGraphPin'EdGraphPin_38934'
   Pins(2)=EdGraphPin'EdGraphPin_38935'
   Pins(3)=EdGraphPin'EdGraphPin_38936'
   NodePosX=1088
   NodePosY=400
   NodeGuid=0C7A02DD444231E566E4319BEF9E13B3
End Object
Begin Object Class=K2Node_CommutativeAssociativeBinaryOperator Name="K2Node_CommutativeAssociativeBinaryOperator_54"
   Begin Object Class=EdGraphPin Name="EdGraphPin_38948"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38947"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38946"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38945"
   End Object
   Begin Object Name="EdGraphPin_38948"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3202.EdGraphPin_38991'
   End Object
   Begin Object Name="EdGraphPin_38947"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="1.000000"
      LinkedTo(0)=EdGraphPin'K2Node_Knot_94.EdGraphPin_38958'
   End Object
   Begin Object Name="EdGraphPin_38946"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_53.EdGraphPin_38936'
   End Object
   Begin Object Name="EdGraphPin_38945"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Add_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_38945'
   Pins(1)=EdGraphPin'EdGraphPin_38946'
   Pins(2)=EdGraphPin'EdGraphPin_38947'
   Pins(3)=EdGraphPin'EdGraphPin_38948'
   NodePosX=1264
   NodePosY=400
   NodeGuid=EF1F931D4296CD166000E194B1E9CB73
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_94"
   Begin Object Class=EdGraphPin Name="EdGraphPin_38958"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38957"
   End Object
   Begin Object Name="EdGraphPin_38958"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_54.EdGraphPin_38947'
   End Object
   Begin Object Name="EdGraphPin_38957"
      PinName="InputPin"
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3181.EdGraphPin_38928'
      bDefaultValueIsIgnored=True
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_38957'
   Pins(1)=EdGraphPin'EdGraphPin_38958'
   NodePosX=1200
   NodePosY=470
   NodeGuid=5978C06741C2FE7EF39A2EB515106282
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_3178"
   Begin Object Class=EdGraphPin Name="EdGraphPin_38971"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38970"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38969"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38968"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38967"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38966"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38965"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38964"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38963"
   End Object
   Begin Object Name="EdGraphPin_38971"
      PinName="Duration"
      PinToolTip="Duration
Float

The display duration (if Print to Screen is True). Using negative number will result in loading the duration time from the config."
      PinType=(PinCategory="float")
      DefaultValue="10"
      AutogeneratedDefaultValue="2.000000"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_38970"
      PinName="TextColor"
      PinToolTip="Text Color
Linear Color Structure

Whether or not to print the output to the console"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.LinearColor')
      DefaultValue="(R=0.247604,G=1.000000,B=0.942644,A=1.000000)"
      AutogeneratedDefaultValue="(R=0.000000,G=0.660000,B=1.000000,A=1.000000)"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_38969"
      PinName="bPrintToLog"
      PinToolTip="Print to Log
Boolean

Whether or not to print the output to the log"
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="true"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_38968"
      PinName="bPrintToScreen"
      PinToolTip="Print to Screen
Boolean

Whether or not to print the output to the screen"
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="true"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_38967"
      PinName="InString"
      PinToolTip="In String
String

The string to log out"
      PinType=(PinCategory="string")
      DefaultValue="Hello"
      AutogeneratedDefaultValue="Hello"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3202.EdGraphPin_38992'
   End Object
   Begin Object Name="EdGraphPin_38966"
      PinName="WorldContextObject"
      PinToolTip="World Context Object
Object Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_38965"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_38964"
      PinName="then"
      PinToolTip="
Exec"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_38963"
      PinName="execute"
      PinToolTip="
Exec"
      PinType=(PinCategory="exec")
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="PrintString")
   Pins(0)=EdGraphPin'EdGraphPin_38963'
   Pins(1)=EdGraphPin'EdGraphPin_38964'
   Pins(2)=EdGraphPin'EdGraphPin_38965'
   Pins(3)=EdGraphPin'EdGraphPin_38966'
   Pins(4)=EdGraphPin'EdGraphPin_38967'
   Pins(5)=EdGraphPin'EdGraphPin_38968'
   Pins(6)=EdGraphPin'EdGraphPin_38969'
   Pins(7)=EdGraphPin'EdGraphPin_38970'
   Pins(8)=EdGraphPin'EdGraphPin_38971'
   NodePosX=1536
   NodePosY=256
   NodeGuid=48AFFC09427A8A4C616580AC2F7922B8
   AdvancedPinDisplay=Hidden
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_3202"
   Begin Object Class=EdGraphPin Name="EdGraphPin_38992"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38991"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_38990"
   End Object
   Begin Object Name="EdGraphPin_38992"
      PinName="ReturnValue"
      PinToolTip="Return Value
String"
      Direction=EGPD_Output
      PinType=(PinCategory="string")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3178.EdGraphPin_38967'
   End Object
   Begin Object Name="EdGraphPin_38991"
      PinName="InFloat"
      PinToolTip="In Float
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_54.EdGraphPin_38948'
   End Object
   Begin Object Name="EdGraphPin_38990"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet String Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetStringLibrary')
      DefaultObject=Default__KismetStringLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetStringLibrary',MemberName="Conv_FloatToString")
   Pins(0)=EdGraphPin'EdGraphPin_38990'
   Pins(1)=EdGraphPin'EdGraphPin_38991'
   Pins(2)=EdGraphPin'EdGraphPin_38992'
   NodePosX=1408
   NodePosY=400
   NodeGuid=75E7E7C944A99986BBE217B012F6FDBE
End Object