Awesome Löve

A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.
Contents
3D
3D-centric Libraries
-
3DreamEngine
- An awesome 3D engine for LÖVE.
-
anim9
- 3D skeletal animation library (design to be used with IQM and IQE).
-
Brinevector3D
- FFI-enabled vector library for 3D (x,y,z).
-
bump-3dpd
- A 3D collision detection library for Lua.
-
IQE
- Inter-Quake Export loader (text).
-
IQM
- Inter-Quake Model loader (binary).
-
love-gltf - Gltf asset loader and test renderer; Supports skeletal animations and morph targets.
-
Lovox
- Pseudo-3D library for working with voxels.
-
g3d
- Simple and easy 3D engine for LÖVE.
-
Menori
- Library for 3D rendering with LÖVE.
AI
Navigation, Decision-Making and AI Libraries
-
Jumper
- Grid-based pathfinding library.
-
Lua-star
- Easy and pure Lua A* path finding.
-
astar
- An other A* library. Any map (grid, point, mesh or infinite map) and support path cost.
-
pathfun - Pure Lua library for 2D pathfinding using the funnel algorithm.
-
beehive.lua
- A functional behavior tree implementation.
-
Luafinding
- Class-based A* implementation written purely in Lua.
Animation
Animation & Frame-Managing Libraries
-
andross
- A Lua library for 2D skeletal/bone animations with a Löve backend.
-
anim8
- Animation library.
-
animx
- A featureful Animation library for loading animations from XML files!.
-
Aseprite loader
- Complete ase/aseprite file loader (no json).
-
chiro
- Convenience wrapper around Spine.
-
Peachy
- A parser/renderer for Aseprite animations in LÖVE.
-
skeletor
- 2D skeletal animation system.
-
Walt
- Animation library.
-
Lump
- Adobe Flash animation runtime.
-
lovanim
- A minimal stateful animation library.
-
SYSL-Text
- Text animation and automatic wrapping library based on tags.
Camera
Viewport & Camera Libraries
-
Brady
- Camera library with parallax scrolling.
-
cam11 - Camera library that leverages the Transform object introduced in love2d 11.0+.
-
Editgrid
- Gamera and HUMP compatible scaling grid.
-
gamera
- Camera system.
-
hump.camera - Camera library with window locking and smooth camera movement interpolation.
-
parallax
- Parallax scrolling with any camera system; seamlessly tile background images.
Development
Development assisting Libraries, that enrich your development experience
-
FPSGraph
- Small FPS graphing utility.
-
debugGraph
- Small OO FPS graphing utillity based on FPSGraph.
-
Lovebird
- Browser-based debug console.
-
LoveDebug
- Inline console-like debugger utility.
-
lurker
- Auto-swaps changed Lua files in a running game.
-
LÖVE API
- The complete API documentation of LÖVE in a Lua table.
-
LÖVE Build
- GitHub Action for automated cross-platform builds.
-
LÖVE TypeScript Definitions
- Write LÖVE games with TypeScript.
-
lovelier
- A LÖVE live reloader with Moonscript support.
-
loveprofiler
- LoveProfiler is an extremely simple logger and profiler.
-
vudu
- Broad in-game debugging gui with a console, variable browser/editor, speed controls, and more.
Drawing
Drawing specific Libraries, that simplify the Drawing process
-
Artal
- A .PSD parsing library for LÖVE.
-
Autobatch
- Small LÖVE module to automate the use of SpriteBatches.
-
center
- A simple module to dynamically align and fit content to screens of any size.
-
deep
- Adds Z axis; allows you to queue actions and draw calls.
-
draft
- A module for drawing complex shapes.
-
grove.draworder
- Similar to deep, but you can set a custom sorting method and create multiple, nestable instances.
-
Hot particles
- “Hot Particles is a particle editor for the LÖVE game framework.”
-
HSLUV
- Lua implementation of HSLuv (a human-friendly alternative to HSL).
-
Maid64
- Low resolution scaler for LÖVE.
-
Push
- A simple resolution-handling library for LÖVE.
-
renderplanet
- Realistic orthographic planet rendering.
-
Resolution Solution
- Scale library, that help you add resolution support to your games!
-
svglover
- Library to import and display simple SVGs in LÖVE.
-
SYSL-Pixel
- Pixel art focused scaler for graphics, position, screen-captures and shaders.
-
Sölar
- A fairly simple solar system simulator.
-
Tove2d
- Animated vector graphics for LÖVE.
-
turtle.lua
- Turtle graphics library for LÖVE.
-
Runtime-TextureAtlas
- Texture atlas packer and renderer at runtime; no external tools.
-
Export-TextureAtlas
- Extends Runtime-TextureAtlas as a commandline tool to export an atlas.
Entity
Entity and Gameobject Managing Libraries
-
adorbs
- Minimal, Functional Entity Component System.
-
Concord
- A feature-complete ECS library.
-
ecs-lua
- ECS Lua is a fast and easy to use ECS (Entity Component System) engine for game development.
-
knife.system
- Minimalist functional ECS.
-
nata
- Hybrid OOP/ECS entity management.
-
tiny-ecs
- Entity Component System for Lua that’s simple, flexible, and useful.
Helpers
Game specific Library bundles, that provide reuseable functions
-
astray
- Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games.
-
batteries
- Fills out lua’s sparse standard library and provides implementations of common algorithms and data structures useful for games.
-
cartographer
- Small Tiled map loader and drawer.
-
clove
- A helper library which allows you to quickly loads huge amount of assets.
-
grove.color
- Blend, convert and interpolate colors using ‘color objects’.
-
hump
- Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras).
-
iffy
- A SpriteSheet and Tileset helper library for LÖVE.
-
knife
- Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer).
-
shard
- Collection of useful mini modules.
-
lovely-windows
- A Window/Screen Manager Module for virtual windows.
-
love-state-switcher
- State switcher class for Lua LÖVE Engine.
-
lua-state-machine
- Lua Finite State Machine.
-
lue
- Lue is a LÖVE library that allows you to display hue color effects in your game.
-
lume
- Collection of functions for Lua, geared towards game development.
-
Manami
- An improved “reflowprint” with UTF-8, multicolor, and justify support.
-
narrator
- An Ink narrative scripting language parser and runtime implementation.
-
reflowprint
- A library designed for alignment of text that is shown one character at a time.
-
roomy
- Screen management library for LÖVE.
-
rotLove
- Roguelike Toolkit in LÖVE. A LÖVE/lua port of rot.js.
-
YAS
- Yet Another Screen manager.
-
Scenery
- A dead simple scene/state management system.
-
ScreenManager
- Screen/State Management for the LÖVE framework.
-
shack
- Shack is a LÖVE library that lets you easily add screen effects such as shake and rotation.
-
Simple Tiled Implementation
- Tiled map loader and renderer.
-
Vivid
- Color math, manipulation and conversion library.
-
Yonder
- A ridiculously easy to use game state management library for LOVE2D.
-
GameStateManager
- A lightweight, optimized, and easy-to-implement solution for efficient game state management.
Input & Binding Libraries
-
baton
- Input library for LÖVE that bridges the gap between keyboard and gamepad controls.
-
GamepadGuesser
- Get the right button icons for gamepads; load updated gamepad db.
-
input
- Simple and powerful input library. support check operation time, sequence.
-
Kazari
- Multitouch gesture and input library.
-
love-microphone
- Simple microphone support for LÖVE.
-
LoveKeys
- A simple input handeling library that keeps track of things for you.
-
Swipe
- A simple radial keyboard library.
-
tactile
- A straightforward and flexible input library.
Lighting
Lighting & Shadow Libraries
-
lighter
- A performant dynamic light implementation with a simple API.
-
Shädows
- A Shadows & Lights engine for LÖVE.
-
Light World
- A lighting model.
-
Simple Love Lights
- A very simple raycasting light implementation.
-
Light
- A simple dynamic light implementation.
Math
Math specific Libraries
-
Bresenham
- Bresenham’s line algorithm written in Lua.
-
brinevector
- Standalone lightweight luajit ffi-accelerated 2D vector library for great performance.
-
Cirno’s Perfect Math Library
- Math/intersection library designed for games.
-
delaunay
- Delaunay triangulation for convex polygons.
-
hump.vector - Powerful 2D vector class.
-
MLib
- Math and shape-intersection detection library written in Lua. It’s aim is to be robust and easy to use.
-
nvec
- Hump.vector-compatible LuaJIT FFI-accelerated 2D vector library.
-
shash
- A simple, lightweight spatial hash for Lua.
-
vector.lua
- A simple vector library based on the PVector class from processing.
Music
Music related libraries
-
denver
- A Löve custom waveform generation library.
-
lovebpm
- A LÖVE library for syncing events to the BPM of an audio track.
-
ripple
- An audio manager with tagging support.
-
wave
- A sound manager with audio parsing and rhythm functionalities.
Networking
Networking & Online-Play Libraries
-
Grease
- Networking library intended to make networking easy for lovers (TCP, UDP, Enet). (IPv6)
-
LoverNet
- A networking library that leverages bitser and enet. (IPv4)
-
NoobHub
- OpenSource multiplayer and network messaging. (IPv6)
-
Sock.lua
- A Lua networking library for LÖVE games. (IPv4)
-
löve-ws
- A websocket client and server library.
-
love2d-lua-websocket
- A simple event-driven websocket client library. (IPv4)
OO
Object Orientation Libraries that support Class-Commons

-
30log
- Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins.
-
classic
- Tiny class module for Lua. Attempts to stay simple and provide decent performance by avoiding unnecessary over-abstraction.
-
hump.class - Small, fast class/prototype implementation with multiple inheritance (class-commons).
-
knife.base
- Extremely minimal base class providing single inheritance and constructors.
-
middleclass
- Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons).
-
muun
- Moonscript compatible class implementation.
-
selene
- Project template for writing games in Moonscript instead of Lua without precompiling.
Performance measurement tools
-
AppleCake
- Profiling library for LÖVE, with detailed profiling and thread support.
-
jprof
- Profiling library/tool for LÖVE.
-
Piefiller
- Graphical profiler for LÖVE.
-
ProFi - A simple lua profiler that works with LuaJIT and prints a pretty report file in columns.
Physics
Collision Detection & Physics Wrappers
-
breezefield
- A lightweight and easy love.physics wrapper (windfield alternative).
-
Bump
- Collision detection library for Lua.
-
HC - Collision detection with arbitrary polygons; allows rotation of objects.
-
loveblobs
- A softbody library with support for both dynamic and static arbitrary softbodies.
-
Strike
- 2D collision detection library. Extendable, based on Separating-Axis-Theorem.
Ports for Platforms other than the ones officially supported by LÖVE
-
LoveDos
- A Lua framework for 2D DOS games, implementing a subset of the LÖVE API.
-
LoveFTW - Work-in-progress port to Windows phone 8.1.
-
LÖVE Potion
- Unofficial implementation of the LÖVE for Nintendo (3DS, Switch and Wii U) Homebrew.
-
LOVE-WrapLua
- A small and simple wrapper for OneLua, lpp-vita, and Lua Player PS3.
-
Love.js
- LÖVE ported to the web using Emscripten.
-
LÖVR
- LÖVE for virtual reality devices.
Publishing
Guides to distributing LÖVE games in 3rd party stores
-
Love-Snap-Template
- A template for packaging LÖVE games for distribution in the Snappy Store.
-
AppImageKit
- Using AppImageKit you can package LÖVE games as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, Ubuntu, Fedora, debian and derivatives; one game = one file.
Serialization
Save Game & Storage Libraries
-
arson
- Companion library for registering custom data types that can be encoded and decoded by json.lua.
-
binser
- Customizable Lua Serializer.
-
bitser
- Serializes and deserializes Lua values with LuaJIT.
-
cdata
- Serialize between Lua data and C data using LuaJIT’s FFI.
-
knife.serialize
- Serialize data as a Lua script.
-
Lady
- Saving and loading savegames; based on Ser.
-
moonblob
- Binary serialization and data parsing library.
-
Ser
- Fast, robust, richly-featured table serialization library for Lua.
-
Smallfolk
- A fast, robust, secure, richly-featured table serialization library for Lua.
-
trickle
- A bitstream library focused on high compression for use in networking.
Shaders
GLSL related Libraries
-
LoveShaderConverter
- Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes.
-
ngrading
- Simple color grading library.
-
Shadertoy viewer - Run code copied from shadertoy directly or output the converted code to a LÖVE shader.
-
Moonshine
- Repository of common post-processing effects like blur, vignette, color-grading, etc.
-
ShaderScan
- Adds hot reload, includes, and better error messages for faster shader iteration.
Testing
Libraries and Tools for Unit Testing
-
busted
- Simple unit-testing framework with customizable assertions.
-
knife.test
- Fixture-free test framework.
-
Luassert
- Extends assert()
with additional, customizable tests.
-
Lunatest
- xUnit-style randomized unit testing framework.
-
lust
- Minimal test framework.
-
Specl - Behavior Driven Development (BDD) tool.
-
Telescope - Highly-customizable BDD-style testing library.
Tweening
Smoothing & Timer Libraries
-
Flux
- A fast, lightweight tweening library for Lua.
-
hump.timer - Timer and tweening library with flexible tweening methods.
-
knife.timer
- Create timers and tweens with ease.
-
NAniTe
- Timeline-based animation system that supports forward and backward update.
-
tick
- Lua module for delaying function calls.
-
tween.lua
- Tweening/Easing/Interpolating functions for Lua inspired on jQuery’s animate method.
UI
User Interface Libraries
-
CatUI
- A very light-weight GUI library for LÖVE.
-
cimgui-love - LÖVE module for Dear ImGui obtained by wrapping cimgui (programmatically generated C-api) using LuaJIT FFI, easy to update to the latest Dear Imgui version.
-
GOOi
- Android-oriented GUI library.
-
Gspöt - A stateful GUI lib for LÖVE.
-
Hanker - Maximalist immediate mode-ish UI elements; gamepad-friendly.
-
Helium
- A modern, customizable, high performance retained UI framework.
-
Layouter
- A simple UI grid layout library for LÖVE 2D game engine.
-
ListBox
- A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs.
-
LoveFrames Fork
- 11.2 Fork of a GUI library.
-
Love Imgui
- Imgui module for the LÖVE game engine.
-
Löve-Nuklear
- Lightweight immediate mode GUI for LÖVE games.
-
Lovely Toasts - Floating speech bubbles with text of your choice.
-
Lynx - Very-lightweight list-based UI library.
-
NLay
- Flexible layouting library.
-
Patchy
- 9patch library.
-
Slicy
- A newer 9patch/9slice library fixing some issues with Patchy.
-
Plan
- A super simple Rule-based layout library.
-
Polywell - A highly-configurable text editor / coding tool written in Lua that runs on the LÖVE game engine.
-
SafeWord
- An overscan detection library for LÖVE.
-
Slab
- Slab is an immediate mode GUI toolkit for the LÖVE framework.
-
SUIT
- Small immediate mode GUI library.
-
YALG
- A very simple, cross-platform, reactive UI for last minute UIs.
-
YUI - Declarative UI library for LÖVE.
-
Inky
- Any-purpose GUI framework.
-
Badar 🌕
- Declarative, retained* and flexbox inspired UI library and components.
Utilities
Non-Game specific libraries and tools
-
ArrayRotation - Rotation of two dimensional arrays (square and non-square).
-
bar128-love
- Barcode rendering library for LÖVE.
-
cargo
- Asset manager.
-
chance.lua - Library for generating random data.
-
colorchanger
- Change the colors in your LÖVE game.
-
Flirt
- LÖVE version manager; allows to switch between multiple versions of engine on same machine.
-
GifCat
- A simple module for saving gifs from LÖVE.
-
hex2color
- A single function to use HEX color values.
-
i18n
- Internationalization library designed to help localize your game.
-
Ini Parser
- General purpose ini configuration parser.
-
log.lua
- Library for configurable log output.
-
love-loader
- Threaded resource loading.
-
love-qrcode
- QR Code rendering library for LÖVE.
-
love2d-assets-loader
- Assets Loader.
-
love-pe
- A tool made in LÖVE for changing LÖVE icon itself.
-
lovely-engine
- A tool that makes setting up and using LÖVE easier and with Moonscript support.
-
Lily
- Async Asset Loader.
-
luasteam
- Lua bindings for the Steamworks API.
-
Luvent
- Simple event-driven programming.
-
nativefiledialog
- Open a file picker on Windows/Mac/Linux.
-
nativefs
- Read and write files outside of LÖVE’s allowed paths.
-
Optikon - WYSIWYG visual level designer.
-
ParticleEditor
- An editor of particle for LÖVE.
-
particle-system-playground
- A basic LÖVE particle system editor.
-
require.lua
- Require all files in a folder.
-
splashy
- Splash Screen Library.
-
ShakeDetectorLua
- Uses accelerometer data for shake device detection written in Lua.
-
tick
- Useful timing tweaks for LÖVE’s run loop.
Tutorials
Blogs and tutorials
IDEs
Integrated Development Environments and text editor plugins
-
Brackets - A modern, open source text editor by Adobe (obsolete).
-
ZeroBrane Studio - ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support.
-
IntelliJ IDEA - Capable and Ergonomic Java IDE.
-
EmmyLua
- Lua IDE/Debugger Plugin for VSCode.
-
LÖVE IDEA
- Snippets and code completion for IntelliJ-IDEA.
-
Vim - Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.
-
Notepad++ - Notepad++ is a free source code editor and Notepad replacement that supports several languages.
-
Visual Studio Code - VS Code is a new type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle.
-
Sublime Text - Sublime Text is a sophisticated text editor for code, markup and prose. You’ll love the slick user interface, extraordinary features and amazing performance.
-
Package Manager - The Sublime Text package manager that makes it exceedingly simple to find, install and keep packages up-to-date.
-
SublimeLove - Supports syntax highlighting, auto-completion, and build system.
-
SublimeLinter-luacheck - Provides linting and static analysis of your Lua code.
-
Pulsar - Hackable text editor based on the extinct Atom; Has great support and auto-completion works nicely, but for now lacks error highlighting.
Distribution
Tools that automate game publishing in one way or another
-
LÖVE Actions - Build & deploy cross-platform game packages on ALL popular platforms. Supports Android, iOS, Linux, maxOS, Windows.
-
love-packager
- Simple CLI to package your LÖVE Game in seconds.
-
boon
- Multi-platform, easy to use tool supporting Windows, macOS, Linux.
-
love-export
- Fast and simple command-line tool that builds binaries for you. Supports Windows, macOS, and Linux.
-
love-release
- A Lua script that automates game distribution. Supports Windows, macOS, Debian, Linux.
-
makelove
- Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage.
-
love-deploy
- Build and deploy games on itch.io (supports windows and web exports).
-
love-fuser
- Packages LÖVE Games using GitHub Actions. Supports Windows, Linux, and Android.
-
awesome-lua
- A list like this one, but more general and encompassing all of Lua’s uses.
-
awesome-love-shaders
- A collection of shaders designed to work in LÖVE.
-
awesome-pico8
- A curated list of PICO-8 resources, tutorials, tools and more.
Other awesome lists can be found in the awesome-awesomeness
list.