OSK.Operations.Workflows 1.0.0

dotnet add package OSK.Operations.Workflows --version 1.0.0
                    
NuGet\Install-Package OSK.Operations.Workflows -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OSK.Operations.Workflows" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OSK.Operations.Workflows" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="OSK.Operations.Workflows" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OSK.Operations.Workflows --version 1.0.0
                    
#r "nuget: OSK.Operations.Workflows, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OSK.Operations.Workflows@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OSK.Operations.Workflows&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=OSK.Operations.Workflows&version=1.0.0
                    
Install as a Cake Tool

OSK.Operations.Workflows

This library helps to handle running operations iteratively, over the course of one or many steps. These operations can then be grouped together within a workflow, which is a sequence of steps, to run and build a larger flow of work to perform. This is especially useful in instances where standard async or other operations that need to be ran and managed is required - for example, in game engines across multiple frames, or in other applications where you need to run a series of operations over time.

Usage

Add the required dependencies to your DI container, if you are using one, using AddWorkflows, but most of the constructs required are avialable without DI to help facilitate a broader usage within game engines.

Primary components within the library are:

  • WorkflowStep: a configuration object that defines how a group of operations should be run together, using in conjunction with an IWorkflowRunner to run the operations in a workflow.
  • IOperationRunner: a class that can be used to run a group of operations together as a unit of work
  • IWorkflowRunner: a class that can be used to run a workflow consisting of multiple steps
    • Data can be referenced from earlier steps in the workflow using an output context if required
  • IIterativeOperation: an interface that defines the contract for iterative operations, that is objects that have tasks to run over one or many steps
  • IIterativeOperation<T>: a generic interface for iterative operations with a specific result type
  • ITaskOperation: a specific type of iterative operation that is designed to run a single task, and can be used to wrap existing async operations into an iterative operation

With these components, you can build workflows that run operations over time, manage their execution, and handle their results in a structured manner, such saving, loading, or more.

Currently defined operations include:

  • Timers
  • Async
  • Action
  • No-op style operations
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on OSK.Operations.Workflows:

Package Downloads
OSK.Petra.Godot.Operations.Workflows

A collection of common operations and workflows for the Godot game engine

OSK.Extensions.Messages.Workflows

Provides a basis for an event messaging system, capable of integraitng with various message buses and other delivery mechanisms, to send, transmit, and receive event messages in an application.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 158 7/3/2026
0.1.0 93 7/3/2026