If you use C++:
GetWorldTimerManager().SetTimer(this, &ASomeClass::SomeFunction, Time);
SomeFunction will be called after time passes, there mofre functions to control timer
You can use Delay node called with power up which will disable it after time, but there also Set Timer node (actully it a blueprint representation of function i mentioned above)
I have a powerup set up and working the way I would like but once it is active it stays on. I would like to set a timer once the pickup is grabbed so that after a set time the character returns to normal.
I’m not using C++ and I still don’t quite entirely understand blueprints to the point that I would like. I’m not sure if I’m editing the character aspect correctly in order for this to work, but here’s the blueprint for the pickup.
Drag “Character Movement” it will open list of possible nodes and pick “Set Max Walk Speed”, speed the normal speed and then plug action output from delay to that node you just made
I believe I’ve done what you suggested but that didn’t change anything. The walk speed is still upped but won’t drop back to normal. A secondary question has arisen as well, which would be how to do a check as to whether the player has an active pickup or not. Again, here’s the edited blueprint.
Still no answers as to why this isn’t reverting the walk speed to normal. Anyone?
Turns out you can’t use a delay or timers in a static mesh blueprint. So in the level blueprints here was the fix:
You probably will want to add a new event or function into your character blueprint to handle this, which will handle all this and also so that you add to the timer of the speed. Was looking into a matter related to timers and this popped up as unanswered topic, hopefully this answer helps someone.