Macros are Completely Broken in 4.14

Hello.

Here is a video of how to reproduce this:

- YouTube or - YouTube

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. :slight_smile:

Note: Same happens in Macro Libraries too so please don’t ignore them!

Thanks.

With my logic, I’d think that it shouldn’t spam Hello 1 by default. The first sequence’s Then 0 is not finished yet, so the Then 1 shouldn’t start yet.

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?

I disagree. Sequence does not wait for latent nodes like delay. If you create a sequence node, attach a 5 second Delay followed by a Print String “1” to the first pin, and attach a Print String “2” to the second pin, then it will print “2” first, followed by “1” 5 seconds later.

touché, either way I still think he should use a timer for this

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.

Hello Achilleon,

After running a few tests, I have been unable to reproduce this issue on our end. I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any blueprints (from the reproduction project) that may be involved with this issue?

Hello Rudy,

Here is a video of how to reproduce this:

https://youtu.be/Sg8Zf8zdcpQ
or
https://www.youtube.com/watch?v=Sg8Zf8zdcpQ&feature=youtu.be

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.

https://www.dropbox.com/s/eo3j69ia2pi2vzo/Test.zip?dl=0

Cheers ^^

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.

Link: Unreal Engine Issues and Bug Tracker (UE-35609)

Make it a great day

Very strange, I have been using 4.13 for a while and I have TONS of macro instances coming after another, with delays etc and it didn’t occur to me. Well, I am glad it is known! Take care! :slight_smile:

What are your arguments towards timer against delay?