[Bug Report] 4.18.1 "Negate Float" node issue


I realized a change in the Negate Float blueprint node, which was working fine in 4.17, but doesn’t work in 4.18.1, please see attached. It outputs directly the input value. Please see attached screenshots.

If this is not a bug, please forgive me, but could you please advise on how to use this node now? Because it clearly doesn’t negate the float value…

Kind regards,


Could you provide a bit more information on this. What exactly are you trying to do with the Negate Float node?
Also if you could provide a list of steps to reproduce the exact issue you are having that would be a big help.
Lastly, is this happening in a project you upgraded from 4.17 to 4.18 or is this happening in a fresh 4.18 project?

Thank you.

Hello, and thank you for the prompt reply.

Please see attached an example of a fresh blueprint in 4.18.1, newly created project.
And it happened in my upgraded project from 4.17.2, that’s when i realized and reported the problem.

The workaround at the moment is just use a multiply node with value of “-1”.

Kind regards,

I have tested this with both fresh projects in 4.17 and 4.18. I have also tested this with a project that was upgraded to 4.18 from 4.17. My 4.18 project and my upgrade project worked. I have attached screenshots showing my settings and what I received from the print string. Is there anything else that you have done that could be causing issues outside of what you have shown here.


There was a change to this variable in 4.18 on how it works.

Try using an actual variable instead of the Make Literal Float node. The reason the Make Literal Float does not work with the Negate Float is because it is always going to go back and reference the origin point of 1. This number is static and will not be changed because the Negate Float will use it as a reference point.

Hello Jeff,
thank you for the answer, and sorry for late reply.

I have checked on two other machines with freshly installed 4.18.1 and both have the same issue.
And as you can see in my first message, the connection of the output pin is not correct, it is passing out the input value directly.
There is another bug report regarding the negate float macro, couldn’t find the link atm, should be the same as this one.
Please close this thread, since that bug has been reported and a case opened.

Thank you!

Let me just clarify when the issue is present:

  1. If you use a variable, it will negate, but the result seems not to be very reliable, do not know why, most times it outputs correct value.
  2. If you add to input some value, that is not a variable (e.g. using a RandomFloatInRange node, or rotation from any axis after breaking a Rotator), it will output the input value directly without multiplying it by ‘-1’

Hope it’ll help to reproduce the issue.

Kind regards,

I am having the same problem. Took me forever to pin it down to the NegateFloat node.

Did you ever find a solution Alex? Can you post the bug report you found?

Only happens in 4.18. When I migrate back to 4.17, problem is solved.

This is the screenshot of the negate float macro in 4.17, it doesn’t match the current macro setup in 4.18.
Clearly someone was fiddling with it. Can someone explain the change?

Which one is correct? This one or the one in 4.18?

Hello Taurian,
The only situation it works with is when you negate a variable. This is clearly a mistake in the code, since it could not be used with a value. Unless epic made a change and didn’t document it.
The only workaround i found is to use multiply float node with -1 value as second.

Regards, Alex.

Thx Veseliy for pointing out, that this node can only work with a variable as input…
I checked out this answer here link text and the explanation, why they updated the Makro seems ok.
The Makro was working in my 4.17 project because i used only float values returned from other nodes and not variables. Now i switched to 4.19 and had to fix the parts using this makro…("…use multiply float node with -1 value as second").
So in future i will only use this Makro, when i have to negate and simultaneously set a float variable…

A clearer description about how to use such nodes would be nice…