1. [Developer](/)
2. [Documentation](/documentation/ "Documentation")
3. Fortnite
* [Unreal Engine](/documentation/en-us/unreal-engine)
* [Fortnite](/documentation/en-us/fortnite)
* [MetaHuman](/documentation/en-us/metahuman)
* [Twinmotion](/documentation/en-us/twinmotion)
* [RealityScan Mobile](/documentation/en-us/realityscan-mobile)
* [Fab](/documentation/en-us/fab)
4. [Fortnite Documentation](/documentation/en-us/fortnite/fortnite-documentation "Fortnite Documentation")
5. [Verse Language Reference](/documentation/en-us/fortnite/verse-language-reference "Verse Language Reference")
6. Time Flow and Concurrency
Time Flow and Concurrency
=========================
You can author time flow the way you author control flow, by executing expressions simultaneously using built-in concurrency expressions in Verse.

An important aspect of games and [simulations](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/verse-glossary#simulation) is specifying the order and overlap of operations that take time. Need two or two hundred monsters all acting simultaneously? Planning a swarm of robots that can march in (or out of) step? Thinking about a fleet of spaceships that invade over time?
**Time-flow control** is at the heart of the Verse programming language, and this is accomplished with [concurrent](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/verse-glossary#concurrent) [expressions](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/verse-glossary#expression).
You could say that time flow is a type of flow control, but where [control flow](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/verse-glossary) is about the order in which a computer executes instructions based on the order of expressions in the program, time flow controls the execution in time, not sequence, based on how concurrency expressions are used.
Time flow is another way of saying **concurrency**.
[

Concurrency Overview
See how concurrency expressions impact time flow in Verse.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/concurrency-overview-in-verse)[

Sync
Run two or more async expressions concurrently using a sync expression.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/sync-in-verse)[

Race
Use a race expression to run two or more async expressions concurrently and cancel whichever expressions don't finish first.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/race-in-verse)[

Rush
Use a rush expression to run two or more async expressions without canceling the slower expressions.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/rush-in-verse)[

Branch
Use a branch expression to start one or more async expressions, then immediately execute following expressions.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/branch-in-verse)[

Spawn
Use a spawn expression to start one async expression in any context, then immediately execute the following expressions.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/spawn-in-verse)[

Task
A task is an object that represents the state of a currently-executing async function.
](https://uefn-docs.yuzulabs.dev/documentation/en-us/fortnite/task-in-verse)
* [verse](https://uefn-docs.yuzulabs.dev/community/search?query=verse)
* [language](https://uefn-docs.yuzulabs.dev/community/search?query=language)
* [concurrency](https://uefn-docs.yuzulabs.dev/community/search?query=concurrency)
* * *
Ask questions and help your peersĀ [Developer Forums](https://forums.unrealengine.com/categories?tag=fortnite)
Write your own tutorials or read those from othersĀ [Learning Library](https://uefn-docs.yuzulabs.dev/community/fortnite/learning)