Passing the reference returned by a Select node to a Set (by ref) node, results in one of three things happening when compiled:
If the Set (by ref) node is called directly, the editor crashes.
If the Set (by ref) node is called via a macro, the editor prints the stack trace in the output log.
If the Set (by ref) node is called via a function, nothing happens.
Prior to 4.11, calling by macro did not result in any errors. However I just checked 4.10 and calling Set (by ref) directly resulted in a crash.
Steps to reproduce:
- Open any blueprint in any project
- Create a select node and connect any Int/Float/Byte value to the selection / index pins
- Connect the return value of the select node to a Set (by ref) node
- Compile the blueprint
I’d expect this to work given that the Select node’s return pin is that of a reference. If this isn’t the intended usage then it would make more sense for the return pin to be that of a value and not a reference.
Unrelated to this bug report-
I posted a comment here Axis mappings for mouse X or Y return 0 after 1st mouseup - Programming & Scripting - Unreal Engine Forums as it seems similar to an issue I am having and I didn’t want to post a duplicate bug report. However I’m wondering whether my issue is different enough to warrant a separate bug report.
Should I post a separate bug report, or just leave it?
Unfortunately I have not been able to reproduce this error on my end. Can you post the crash logs here so I can take a look? They can be found at \Unreal Projects\PROJECTNAME\saved\logs. Are there any additional steps I can take to reproduce this in a clean, blank project with no additional content?
I just made a fresh blueprint project, and setup the nodes as they are in the second picture in my original post (with the select node connected to ++). I used a fresh actor blueprint, but any blueprint should work. Then I compiled, and got the warning (macro.log).
Then I restarted the project and set it up like in the first picture, with the select node connected directly to Set (by ref). This crashed when compiled, and is recorded in direct.log
If there is anything else I can do to help, let me know. There aren’t any additional steps that I can think of, beyond making sure the Set (by ref) / ++ nodes are connected by execution pins (as they are in the pictures).
Do you have a sample project this is occurring in I can look at? Thus far the reproduction steps have not produced any crash on my end.
Here it is. Just need to connect the execution pins and compile.
After testing your project and searching through our bug reports database I have found a similar issue, UE-28443 has already been reported. I have updated the bug report to include this crash.