I am trying to do a fire function that spawns bullets until I tell it to stop. I have the Fire function but if I try to call it with the “Set Timer by Function Name” ( as seen here: http://prntscr.com/nfd65r) it does not trigger the function. The function is inside the same BP.
What is most interesting is that other functions in the same BP work as expected with the Set Timer. If I try to move everything from “Fire” to “Reload” and call Reload wit the Set Timer, it works. Any ideea why only that one function does not work? (The fire function is just a Print string, so nothing to give error)
WIll just jump in here and say thank you Could not get my “Set timer by function name” to work! And this saved me a lot of time searching for a solution to fix that!
Super late reply on this, but as I was having the same issue and this was the first thing to pop up on a google search I’ll leave what I discovered here.
If your function has any input or output nodes on it, calling it via a SetTimerByFunctionName will fail. This was documented in a bug fix request on ‘Jul 16, 2018’ and marked as ‘Won’t Fix’ so presumably this is intended behavior.
Relevant issue tracker entry: Unreal Engine Issues and Bug Tracker (UE-61800)
So what to do? As mentioned in this thread, either rework your scripting so you can use SetTimerByEventName to call the relevant function on a timer, or find some alternate way to pass the variables you’re trying to pass to or from your function.
FYI I discovered once its set in “Loop” T/F you can’t change it. I had a variable change on keypress to toggle and it just stated looped FYI. Dont waste an hour+ like I just did reworking the design only to discover this …
Oh I know I’m replying to an OLD thread.
Just wanted to update it with some current information.
Issued still encountered in Unreal 5.2. (obviously since it’s a Wont Fix)
With some testing, this issue is actually due to having a parameter pin applied to an Input or Output node for a function being used by the Set Timer by Function Name. Not because it has an output node.
(It can have an output node, you just need to delete that parameter pin that appears by default with it. The issue will also occur if you have no output node, but have a parameter pin added to the input node)
I wish they just fixed this, since i’d like to consolidate things into functions, and using a “Set Timer by Function” will help bypass needing delay nodes at times.