awesome-love2d
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
AI summary
Game development library
A curated collection of reusable components and tools for building 2D games with the LÖVE framework.
- stars
- 3.4K
- forks
- 209
- watching
- 125
- awesome lists
- 6
- entries
- 294
What's in the list
294 links in 45 sections, with live GitHub stats.activeno commit in 2y
3D
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
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
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
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
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
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
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
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
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
SceneMan
A simple, but powerful scene/gamestate manager that uses a stack, allowing you to run multiple scenes at once
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
Love dialogue
Simple to use Dialogue Library for Love2d with custom scripting language for dialogues
Input
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
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
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
Networking
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
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
Object-Library
ObjectLibrary is a simple library for the LÖVE2D game engine that allows users to create objects with collision detection and optional textures
LowerClass
A MiddleClass Inspired library with extended features
Performance
Physics
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
Platforms
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
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
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
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
busted
Simple unit-testing framework with customizable assertions
knife.test
Fixture-free test framework
Luassert
Extends 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
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
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 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
lovr-ui2d
An immediate mode GUI library for LÖVR and LÖVE
- 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
TuxRedux
An immediate-mode UI system for LOVE2D inspired by SUIT
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 🌕
Simple for easy components compositions
MeowUI
Extensible library written in MoonScript that enables you to create your own GUI controls based on provided core modules for Löve2D
Utilities
andromeda
Asset database and loader for love
- 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
KeyedArray
A special data structure where items can be found by their position or key. Similar to an ordered dictionary
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
LuaRequireExtended
A Lua module that lets you require files with input parameters and multiple output values
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
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
- text2.love
Full-featured text editor for prose (not code)
tick
Useful timing tweaks for LÖVE's run loop
servelove
A web server library that runs on love
Tutorials
- learn2love
Book for learning programming with Lua and LÖVE (Version 11.0+)
- Using Tiled Maps in LÖVE
An article about using maps created with Tiled in your LÖVE game
Tutorial on making an Arkanoid-type game
A complete tutorial on how to make a breakout clone by nooowaay
- Simple Game Tutorials
Tutorials for making simple games with LÖVE (Snake, Sokoban, Tetris, etc.)
- How to LÖVE
A book by Sheepolution teaching LÖVE from the ground up
- CS50 Introduction to Game Development
Harvard Colleges CS50 OpenCourseWare
- Building love2d games for the web with love.js and Docker
A tutorial on packaging LÖVE games for the web
IDEs
- Brackets
A modern, open source text editor by Adobe (obsolete)
IDEs / Brackets
Lua Syntax Highlighter
Add Lua syntax highlighting in Brackets
- LÖVE Hints for Brackets.io
Provides LÖVE code hints
Run LÖVE
Run LÖVE projects with a hotkey
IDEs
- ZeroBrane Studio
ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support
IDEs / ZeroBrane Studio
API Syntax Hightlight
Script to add LOVE API syntax highlighting to ZBS
IDEs
- IntelliJ IDEA
Capable and Ergonomic Java IDE
IDEs / IntelliJ IDEA
IDEs
- Vim
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient
IDEs / Vim
Vim LOVE Docs
Syntax highlighting for Vim
IDEs
- Notepad++
Notepad++ is a free source code editor and Notepad replacement that supports several languages
IDEs / Notepad++
LÖVE API for Notepad++
Code completion and documentation for Notepad++
IDEs
- 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
IDEs / Visual Studio Code
- Visual Studio Code LÖVE Launcher
A Löve Launcher Extension for Visual Studio Code
- Lua for Visual Studio Code
Provides Intellisense and Linting for Lua in VSCode
- Local Lua Debugger
Simple Lua debugger with no dependencies. Löve specific launch.json example provided
IDEs
- 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
IDEs / Sublime Text
- 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
IDEs
- Pulsar
Hackable text editor based on the extinct Atom; Has great support and auto-completion works nicely, but for now lacks error highlighting
IDEs / Pulsar
autocomplete-love
Auto-complete and snippets for LÖVE
love-ide
Auto-installs several utilities for writing Love2D games in Pulsar
language-lua
Add syntax highlighting and snippets to lua files
atom-autocomplete-lua
Autocomplete for Lua
IDEs
- Zed
Zed is a next-generation code editor designed for high-performance written in rust
IDEs / Zed
Distribution
lover
Bringing the joys of rust's package manager ( ) to love
- LÖVE Actions
Build & deploy cross-platform game packages on 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
lovesfx
Packs love games in a single file for windows
makelove
Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage
love-build
Downloadable application (made in LÖVE!) that can build games for Windows, macOS, and Linux regardless of your own OS
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
Related
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
Nothing in this list matches your filter.
Featured in 6 awesome lists
Each link jumps to the spot where the list mentions awesome-love2d.