The lovr.thread module provides functions for creating threads and communicating between them.

These are operating system level threads, which are different from Lua coroutines.

Threads are useful for performing expensive background computation without affecting the framerate or performance of the main thread. Some examples of this include asset loading, networking and network requests, and physics simulation.

Threads come with some caveats:


lovr.thread.getChannelGet a Channel for communicating between threads.
lovr.thread.newThreadCreate a new Thread.