monogame-async
Installation
SKILL.md
MonoGame Async Programming Guide
This skill covers asynchronous patterns in MonoGame: when and how to use them safely, the main thread constraints, and practical loading screen implementation. For ready-to-copy code, see references/async.md.
The Core Rule: GraphicsDevice Owns the Main Thread
MonoGame's GraphicsDevice, SpriteBatch, and ContentManager are not thread-safe. All rendering calls (Draw) and content loading via Content.Load<T>() must happen on the main game thread.
Work you can safely do on background threads:
- File I/O (reading/writing save data, JSON, config)
- Network requests
- Parsing/deserialization of game data
- Heavy computation (pathfinding, world generation)
- Pre-reading raw bytes from disk