How to create randomly generated events with time?

Hi! I’m in the process of a game development for my diploma, and the core mechanic for it is randomly generated events, happening with time.

The idea is that after some time there is a chance that some events may or may not happen. For example, if you’re taking too long to solve a puzzle an alarm may go off or a character may say smth to refer to it, or, idk, the lights are turning off as well. And so, I’m doing something similar, but I have a huge variety of such events, and the more time you’re playing, the more events may start to happen and even change between one another (the simplest example is an object changing materials).

But! Once again, it is important for my game to have random chances that are being calculated with time.

I would be endlessly grateful for some advices, videos, links and tutorials! I could really use pretty much everything at this point.

Thank you!

Set Timer By Event

Thank you sm for the response!

May I ask, do you know how could I make a BP for a collection of different events to call? Should I use Multigate for that? For now I think about setting up a Timer that calls on the Event Dispatcher maybe, and then I use Multigate inside every BP that is being affected to calculate it’s condition randomly. Are there any other ways or the one I came up with sounds okay?

Probably the easiest would be a BluePrint Actor class, drop it in the map/level and use the Level Blueprint to communicate with it. Beyond that there’s ActorComponent and Blueprint Interface.…ctorcomponents…ace/index.html

I need more details before I can suggest multigate etc.