How to create a train timetable

The idea would be to store them in their own sort of definition file in the project, and then accessed in runtime; the player would then control said trains against that timetable and the game would then compare the timetable vs the player’s actions and store that to their account.

So tl;dr the timetable itself wouldn’t be writable outside of the editor but it would need to be loaded along with the level map to be used.

However one thing it would need, is to load the timetable from any given time as the player can set the start time of the simulation to any time, so the system would need to be able to take the time selected and then be able to spawn the correct trains rather than from the start of the timetable.

It would also need to be modular, as each “simulation”, each level basically, would have its own timetable based on what’s within the simulation chosen (the stations, trains, etc) and the different train types (length, type of train, power type, etc)which is why I was thinking potentially looking into a custom blueprint function library, which is why I’m currently learning how UE C++ works to see if that could work.