Skip to content

Task Driver

Mike Baker edited this page Mar 28, 2023 · 1 revision

When to Create a System vs Driver Data Stream

Default to using ISystemDataStream...

  • It's more performant when there are many TaskDriver instances because one job is scheduled for all work to be done vs one per Task Driver instance.

You need to use IDriverDataStream if...

  • You're reporting a result that's only relevant to the specific Task Driver instance
  • You're interacting with your own sub task driver instances

Job Scheduling Order

Each TaskDriver type executes based on the system backing it. The backing system is ordered based on its location in the player loop like any other system.

Within the Task Driver System

  1. System tasks - ConfigureSystemJob...()
  2. Each Task Driver Instance in order that they are created

Within the task driver instance

All driver jobs are scheduled in the order they're configured. Built-in(ConfigureDriverJobWhenCancelComplete()) and ConfigureDriverJobTriggerBy()

NOTE: ConfigureSystemJob...() will run during System NOT during the driver

  • TODO: #186 - Refine the API to make it more clear that we're scheduling off the backing system. Ex: taskSystem.ConfigureJobTo..()