GDC is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

View, browse and sort the ever-growing list of sessions by pass type, topic, and format. All registered attendees will be able to build their personal schedule in the mobile event app, once live early 2022.

GDC Masterclass courses require a paid pass to attend. Class sizes are kept intentionally small and seats are limited to ensure every student receives one-on-one assistance from the instructor. Pass pricing per course varies, please review the passes and pricing page for more details and secure your spot today!

C++ Coroutines are NOW!

Elliott Mahler  (Senior Gameplay Programmer, Giant Squid)

Pass Type: All Access Pass, Core Pass - Get your pass now!

Topic: Programming

Format: Session

Vault Recording: TBD

Audience Level: No

Coroutines are a revolutionary language feature that can express complex gameplay logic through direct, clear functions. C# and Lua programmers have had access to coroutines for over a decade, but most C++ developers don't realize that coroutines were recently added to C++! Coroutines are now available and production-ready on all major game platforms using the C++14 language standard.

Elliott, one of the programmers behind The Pathless, shares how he wrote the entirety of The Pathless' gameplay code using C++ coroutines, and demonstrates how easily they can be integrated into existing game projects. Elliott also introduces Giant Squid's MIT-licensed library to jump-start the integration process. Discover how easy it is to unlock this futuristic new programming paradigm with a minimum of risk and effort.


Elliott explains what coroutines are, motivates their use in game programming, shows how they can be implemented in C++14 today, and demonstrates writing gameplay logic using C++ coroutines. In the process, he reveals how everyday game programmers can start implementing C++ gameplay coroutines in their own games.

Intended Audience

Gameplay programmers of all experience levels will benefit from attending this talk. Knowledge of C++ is recommended (not required), including familiarity with templates and lambda functions. Engine programmers will also see how coroutines can be integrated into game frameworks and apply coroutines to non-gameplay systems.