Macros are Completely Broken in 4.14
Here is a video of how to reproduce this:
Yes, this is made in a clean project. All the steps are provided in the video.
Also here is the project if you so desire, it's just 2MB zip file, containing a map and the said blueprint actor.
I will try to explain as much as possible, and if something is amiss or can't explain, I will make a video about it. But here it goes!
This is from an Actor Blueprint that is in the game. It spams both Hello 1 and Hello 2 properly, so we are cool.
Now lets make a macro of it:
Now lets put these two one after another, just to mimic the previous example:
This time, we see only Hello 2 spammed and Hello 1 completely ignored. It is like the latest macro that is triggered once, prevents other ones from triggering entire gameplay.
Now let's expand the nodes and see if that would work;
As you see, expanded nodes are still not working as if they are not instances, the first expanded macro nodes are ignored by some reason. So you have to create the nodes fresh, just like the first example if you want to get them working again.
Now here is another interesting bug, I tried to click on the first Sequence's "Then 0" pin, and Unreal instead acts as if I clicked on the Second Sequences "Then 0" pin;
All the other first expanded node's pins are unclickable and you get the corresponding second pin connections automaticaly by the Editor.
Conclusion: I got the feeling that there is a bug that makes Macroes not instanced, so the very last one in the first moment that triggers completely brakes the work flow of the other instances and prevents them from working by any means.
Conclusion 2: I believe the problem is that, Delay (or latent functions) in macros are no longer instanced. So that the delay of the first macro for some reason acts like a Retriggerable Delay the moment another instance of the macro gets called, resetting itself. But this could be happening to all nodes of the said macro, as after expanding the macro, the first macro nodes pins are not accessable.
This is produced on fresh 4.14 Project. As I mentioned before, I can make a video of it if needed, but I think the problem is rather obvious, especially the last one. ^_^
Note: Same happens in Macro Libraries too so please don't ignore them!
After further testing and doing a bit of digging I was able to find that this is a known issue. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.
Make it a great day
answered Nov 16 '16 at 10:11 PM
Rudy Q ♦♦ STAFF
I have to agree with CrimsonHawk.
Sequence does not mean run in parallel, it means finish the first line, then execute the next one, and since the first line is stuck in an endless loop, it will never finish.
Why not print both texts in the same loop?
What are you trying to achieve? and why don't u just use a timer instead?
answered Nov 16 '16 at 03:32 AM
I think people are missing the point here.
This is a bug because as Jeff2365 says, sequence does not wait for any latent functions. As he said, what if the delay is 5 seconds? Will Sequence wait for 5 seconds? What if there are other delays? So unfortunately the gentlemen stating that the Sequence is not triggering because of the delay, is wrong. (And yes, a friend of mine also said the same, and I tested it. This is not related to sequence. It is a macro problem.)
Also this example I use here is not something I need. I got very complex macros that are completely broken and this is NOT related to Sequence or Delay.
If you have two macroes in ANYWHERE of your code, the first macro that triggers BLOCKS the usage of the other macro instances, regardless of a sequence connection. Shortly, you can right now have only ONE of same macro in ONE blueprint.
Also, the fact that the Non-Macro version works and the Macro version doesn't, is the bug itself too. Let alone the way the pin drag aswell.
You guys can try this aswell. Jeff2365 already knows it but you can just use the Sequence nod. Give first pin a delay of 1 second, and second pin to 0.5 seconds. You will see that 0.5 second delayed second delay comes out first despite being the second sequence pin.
answered Nov 16 '16 at 05:49 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here