v2019.03 Released


  • Ultraviolet's core timing logic can now be overridden if you want more control over your application's main loop.
    • A virtual method called CreateTimingLogic() has been added to the following classes:
      • UltravioletApplication
      • UltravioletActivity
      • UltravioletForm
    • Return a new instance of the IUltravioletTimingLogic interface from that method in order to control the timing of your Draw() and Update() calls. The UltravioletTimingLogic class is the default implementation of this interface which is used if CreateTimingLogic() is not overridden.