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