[4.7.1 Software Cursor Bug] Cursor Widget BP Code, Delays / SetTimers dont work when game is run from commandline

#Repro

  1. Make a cursor widget with a simple image
  2. Make a custom event that is your timer function.
  3. Add a print string that says “Cursor Timer Ran!” as the body of your custom event
  4. in the Cursor Widget’s On Construct Event, add a SetTimer, 0.1 seconds, not looping, set to your timer
  5. ProjectSettings->User Interface-> use this cursor widget as your main cursor
  6. In Level BP get player controller and set cursor to be visible in Begin Play()
  7. Play in PIE, notice the print string gets called
  8. Play in standalone, notice the print string does not get called

#Delays

You could try using a Delay node instead of a timer, this will also only work in PIE, but not in Standalone.

#Context

I made a fancy cursor that switches its state / responds to in-game events by adding lots of Widget Blueprint code in the cursor widget.

None of this Blueprint Widget code is running properly in Standalone/from commandline.

Everything works great in PIE!

I can switch the cursor’s state any time by calling the widget reference that I am storing in the Game Instance Class (the only place I can store it without ref getting garbage collected on level change)

#Edit

I’ve verified now that OnConstruct does indeed get called in StandAlone/PIE, but Delays / Set Timer and my other BP code is simply not working, which includes a custom BP node to get a casted Game Instance.

All of this works great in PIE, but not in StandAlone

But PIE is not the real game!

No end user will ever see my 2 hours of custom cursor work!

#Please Fix

Please fix this matter so custom Software Cursors are as powerful in the final product as they are in PIE!

No one who buys my game will be playing it in PIE!

Adequate QA testing needs to be done in StandAlone, or no assumptions can be made about whether an important feature of UE4 is working at all!

#Thanks!

Hello ,

I was able to reproduce this issue on our end. I have written up a report ( UE-11200) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as if becomes available. Thank you for your time and information.

Make it a great day

Thank You Rudy!

#:heart:

Dear Epic,

I have an update for 4.8.3 regarding this issue:

#Delay Nodes Not Working in Commandline/Standalone

The issue I am having still is not resolved in 4.8.3, you can do a quick test by adding a delay and then a printstring to Construct event in the cursor widget, of say 2-3 seconds. If you run the game in PIE (in viewport) then the delay fires off and the message gets printed.

But if I run the game in standalone, the print string never gets fired.

#Looping Timers Do Work!

I just tested and looping timers DO work in Standalone/commandline, it is only delay nodes that do not appear to be working.

Enjoy!

#:heart: