x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

4.7 preview 3 - Delay not available in standard macros

I can't add a delay into the standard macros anymore in 4.7 preview 3. Is this a new change?

I see no mention of it in the release notes, and it can be added just fine in a BP macro.

Thanks!

Product Version: Not Selected
Tags:
more ▼

asked Jan 14 '15 at 01:50 AM in Blueprint Scripting

avatar image

RumbleMonk
206 11 18 19

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hi RumbleMonk,

I just tested this in the 4.7 Preview but I couldn't get your results. The delay node added correctly for me. Could you post some screenshots so I can see exactly what's going on it your project?

alt text

macro01.jpg (40.0 kB)
more ▼

answered Jan 16 '15 at 03:21 PM

avatar image

TJ V ♦♦ STAFF
41k 1009 183 494

avatar image RumbleMonk Jan 18 '15 at 08:22 PM

The delay works fine in the normal BP macros indeed, try to add it to the engine's 'StandardMacros' (where all the normal for loops etc resides). That's the only place I can't add it. If I copy a section of nodes from elsewhere all but the delay gets pasted so it's something wonky going on.. Wasn't like that in 4.6.

avatar image TJ V ♦♦ STAFF Jan 19 '15 at 09:19 PM

Thank you for the report. I see what you are talking about now, I was able to reproduce it in the 4.7.0 Preview. I've created JIRA UE-7819 in our tracking software and our developers will be investigating the issue further.

Cheers,

TJ

avatar image RumbleMonk Jan 20 '15 at 01:58 PM

Excellent, thank you. I should've been clearer in my first post I realize but good to see this looked into.

Cheers!

avatar image TJ V ♦♦ STAFF Jan 22 '15 at 03:19 PM

Hi RumbleMonk,

I have an update for the report, our devs informed me that this is by design. The reason is, Latent nodes (any node with the clock symbol like below) cannot be used in a macro that can then be used inside of a function. To keep errors from occurring, they blocked all latent nodes inside of the engines StandardMacro library.

alt text

latentnode01.jpg (11.3 kB)
avatar image RumbleMonk Jan 22 '15 at 07:41 PM

Ok, I'm not too surprised to hear that but good to know it's working as expected in 4.7 then. Thanks!

avatar image John Alcatraz Feb 25 '15 at 01:59 AM

In 4.7 I cannot place delays in any macros.

avatar image Osok Feb 26 '15 at 05:52 AM

I can not create a WhileLoopWithDelay either because of this.

avatar image John Alcatraz Mar 05 '15 at 04:11 AM

Epic, please give us some news. I also really need a WhileLoopWithDelay which I created in a custom Macro Library in 4.6.1 but it's no longer possible in 4.7... Either give us a workaround or make delays usable in macros again! The macro only needs to be accessible in the event graph, not in functions.

avatar image Rudy Q ♦♦ STAFF Mar 05 '15 at 03:52 PM

Hello John Alcatraz,

I have a workaround that may be viable depending on the intended use. This is what I came up with.

Copy the nodes from the loop you want to use and paste them into your graph. You can then collapse them down as shown.

alt text

I then set up the collapsed nodes as they were plus my delay add on of course.

alt text

Finished Example:

alt text

One last quick NOTE: I was able to add a delay to macros when making them inside of a Macro Library. You could then make delay macros for class by making a corresponding Macro library. This way you can just right click and type the name of the macro to pull it up. Example: If you make a macro library for Actor blueprints, you can then pull up that Macro in all Actor blueprints via the right click menu. I hope this helps.

Make it a great day

avatar image John Alcatraz Mar 05 '15 at 04:59 PM

Thanks, but a collapsed graph is not really a workaround since I need this macro in many different blueprints. Also, making a macro library only for actors also is not acceptable since I need to call this macro in many different type of blueprints, not only actors.

avatar image John Alcatraz Mar 05 '15 at 05:16 PM

So please either fix it or give us a better workaround :)

avatar image Evigmae May 28 '19 at 06:14 AM

Thanks! I didn't think of this.

You only need to pack the Delay node though.

avatar image Rudy Q ♦♦ STAFF Mar 05 '15 at 05:48 PM

Hello John Alcatraz,

I do have a workaround, however it is a bit hacky. If you don't want to make a macro library for all of the blueprints that can contain a delay (NOT recommended). This is how you would do it (in 4.7.2 I haven't tested it else where)

I was able to come up with this after playing around with the macro libraries for a few seconds.

You will need to create a Macro Library that derives from the Object class.

alt text

When inside your new Macro Library you will then need to take the Collapsed loop with a delay, Copy and paste it into the Macro library. This should bypass the checks the editor is making for delays because it is contained inside of the collapsed node (You cannot copy and past a delay directly). All that is left is to hook it up like so:

alt text

NOTE: When attaching the pin together you cannot have the same names (Example the "index" pin cannot be named "index: pin if it is attached to a pin named "index") I got around this by adding in spaces, it looks basically the same to use but completely different to the computer :-)

Make it a great day

avatar image John Alcatraz Mar 05 '15 at 05:51 PM

Thanks a lot Rudy, that's great! Hopefully this bypassing of the editor checks wont get "fixed" too soon ;)

avatar image John Alcatraz Mar 24 '15 at 12:15 AM

Unfortunately it does not seem to work :( I have my WhileLoopWithDelay in a custom MacroLibrary of type Object, and I can use the macro from everywhere, but once it is executed during runtime the game ends and the engine says

"PIE:Error: Error Infinite Loop detected in GameMode_Play , asserted during Branch with the following Call Stack"

So the engine seems to think that the macro would cause an infinite loop... Which is not even possible at all with a delay inside of the loop.

The exact same thing actually happens if I just use a regular WhileLoop and connect a delay after the LoopBody exec pin.

This is how my macro looks like:

alt text

avatar image Rudy Q ♦♦ STAFF Mar 26 '15 at 02:15 PM

Hello John Alcatraz,

I was able to reproduce the results that you are getting on our end. This is due to the logic in your loop. The second pin (Then 1) does not have a delay. This is what is tripping the infinite loop error. I was able to get around the error by putting the delay before the sequence. I hope this helps.

alt text

Make it a great day

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question