love2d-community/awesome-love2d
Awesome Löve 
A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.
Contents
- 3D
- AI
- Animation
- Camera
- Development
- Drawing
- Entity
- Helpers
- Input
- Lighting
- Math
- Music
- Networking
- OO
- Performance
- Physics
- Platforms
- Publishing
- Serialization
- Shaders
- Testing
- Tweening
- UI
- Utilities
- Tutorials
- IDEs
- Distribution
- Related
3D
3D-centric Libraries
- 3DreamEnginestars205 - An awesome 3D engine for LÖVE.
- anim9stars27 - 3D skeletal animation library (design to be used with IQM and IQE).
- Brinevector3Dstars8 - FFI-enabled vector library for 3D (x,y,z).
- bump-3dpdstars60 - A 3D collision detection library for Lua.
- IQEstars8 - Inter-Quake Export loader (text).
- IQMstars34 - Inter-Quake Model loader (binary).
- love-gltf - Gltf asset loader and test renderer; Supports skeletal animations and morph targets.
- Lovoxstars44 - Pseudo-3D library for working with voxels.
- g3dstars296 - Simple and easy 3D engine for LÖVE.
- model_rendererstars14 - A simple 3d model renderer for love2d.
AI
Navigation, Decision-Making and AI Libraries
- Jumperstars567 - Grid-based pathfinding library.
- Lua-starstars35 - Easy and pure Lua A* path finding.
- astarstars6 - An other A* library. Any map(gird, point, mesh or infinite map) and support path cost.
Animation
Animation & Frame-Managing Libraries
- androssstars29 - A Lua library for 2D skeletal/bone animations with a Löve backend.
- anim8stars541 - Animation library.
- animxstars18 - A featureful Animation library for loading animations from XML files!.
- Aseprite loaderstars12 - Complete ase/aseprite file loader (no json).
- chirostars25 - Convenience wrapper around Spine.
- Peachystars85 - A parser/renderer for Aseprite animations in LÖVE.
- skeletorstars25 - 2D skeletal animation system.
- Waltstars53 - Animation library.
- Lumpstars19 - Adobe Flash animation runtime.
- lovanimstars20 - A minimal stateful animation library.
- SYSL-Textstars44 - Text animation and automatic wrapping library based on tags.
Camera
Viewport & Camera Libraries
- Bradystars51 - Camera library with parallax scrolling.
- Editgridstars40 - Gamera and HUMP compatible scaling grid.
- gamerastars194 - Camera system.
- hump.camera - Camera library with window locking and smooth camera movement interpolation.
Development
Development assisting Libraries, that enrich your development experience
- FPSGraphstars14 - Small FPS graphing utility.
- debugGraphstars29 - Small OO FPS graphing utillity based on FPSGraph.
- Lovebirdstars253 - Browser-based debug console.
- LoveDebugstars90 - Inline console-like debugger utility.
- lurkerstars231 - Auto-swaps changed Lua files in a running game.
- LÖVE APIstars242 - The complete API documentation of LÖVE in a Lua table.
- LÖVE Buildstars39 - GitHub Action for automated cross-platform builds.
- LÖVE TypeScript Definitionsstars82 - Write LÖVE games with TypeScript.
- lovelierstars10 - A LÖVE live reloader with Moonscript support.
Drawing
Drawing specific Libraries, that simplify the Drawing process
- Artalstars38 - A .PSD parsing library for LÖVE.
- Autobatchstars94 - Small LÖVE module to automate the use of SpriteBatches.
- centerstars6 - A simple module to dynamically align and fit content to screens of any size.
- deepstars39 - Adds Z axis; allows you to queue actions and draw calls.
- draftstars41 - A module for drawing complex shapes.
- grove.draworder - Similar to deep, but you can set a custom sorting method and create multiple, nestable instances.
- HSLUVstars34 - Lua implementation of HSLuv (a human-friendly alternative to HSL).
- Maid64stars40 - Low resolution scaler for LÖVE.
- Pushstars366 - A simple resolution-handling library for LÖVE.
- renderplanetstars18 - Realistic orthographic planet rendering.
- svgloverstars43 - Library to import and display simple SVGs in LÖVE.
- SYSL-Pixelstars23 - Pixel art focused scaler for graphics, position, screen-captures and shaders.
- Sölarstars5 - A fairly simple solar system simulator.
- Tove2dstars139 - Animated vector graphics for LÖVE.
- turtle.luastars72 - Turtle graphics library for LÖVE.
- Runtime-TextureAtlasstars8 - Texture atlas packer and renderer at runtime; no external tools.
- Export-TextureAtlasstars3 - Extends Runtime-TextureAtlas as a commandline tool to export an atlas.
Entity
Entity and Gameobject Managing Libraries
- adorbsstars25 - Minimal, Functional Entity Component System.
- Concordstars143 - A feature-complete ECS library.
- knife.system - Minimalist functional ECS.
- natastars33 - Hybrid OOP/ECS entity management.
- tiny-ecsstars475 - Entity Component System for Lua that's simple, flexible, and useful.
Helpers
Game specific Library bundles, that provide reuseable functions
- astraystars114 - Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games.
- batteriesstars175 - Fills out lua's sparse standard library and provides implementations of common algorithms and data structures useful for games.
- cartographerstars58 - Small Tiled map loader and drawer.
- clovestars19 - A helper library which allows you to quickly loads huge amount of assets.
- grove.color - Blend, convert and interpolate colors using 'color objects'.
- humpstars45 - Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras).
- iffystars17 - A SpriteSheet and Tileset helper library for LÖVE.
- knifestars337 - Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer).
- shardstars12 - Collection of useful mini modules.
- lovely-windowsstars13 - A Window/Screen Manager Module for virtual windows.
- love-state-switcherstars8 - State switcher class for Lua LÖVE Engine.
- luestars40 - Lue is a LÖVE library that allows you to display hue color effects in your game.
- lumestars728 - Collection of functions for Lua, geared towards game development.
- narratorstars62 - An Ink narrative scripting language parser and runtime implementation.
- reflowprintstars38 - A library designed for alignment of text that is shown one character at a time.
- roomystars30 - Screen management library for LÖVE.
- rotLovestars213 - Roguelike Toolkit in LÖVE. A LÖVE/lua port of rot.js.
- ScreenManagerstars28 - Screen/State Management for the LÖVE framework.
- shackstars47 - Shack is a LÖVE library that lets you easily add screen effects such as shake and rotation.
- Simple Tiled Implementationstars665 - Tiled map loader and renderer.
- Vividstars49 - Color math, manipulation and conversion library.
- Yonderstars9 - A ridiculously easy to use game state management library for LOVE2D.
Input
Input & Binding Libraries
- batonstars161 - Input library for LÖVE that bridges the gap between keyboard and gamepad controls.
- inputstars2 - Simple and powerful input library. support check operation time, sequence.
- love-microphonestars55 - Simple microphone support for LÖVE.
- LoveKeysstars5 - A simple input handeling library that keeps track of things for you.
- Swipestars1 - A simple radial keyboard library.
- tactilestars49 - A straightforward and flexible input library.
Lighting
Lighting & Shadow Libraries
- lighterstars18 - A performant dynamic light implementation with a simple API.
- Shädowsstars149 - A Shadows & Lights engine for LÖVE.
- Light Worldstars207 - A lighting model.
- Simple Love Lightsstars20 - A very simple raycasting light implementation.
- Lightstars6 - A simple dynamic light implementation.
Math
Math specific Libraries
- Bresenhamstars13 - Bresenham's line algorithm written in Lua.
- brinevectorstars36 - Standalone lightweight luajit ffi-accelerated 2D vector library for great performance.
- Cirno's Perfect Math Librarystars251 - Math/intersection library designed for games.
- delaunaystars95 - Delaunay triangulation for convex polygons.
- hump.vector - Powerful 2D vector class.
- MLibstars68 - 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.
- shashstars48 - A simple, lightweight spatial hash for Lua.
- vector.luastars28 - A simple vector library based on the PVector class from processing.
Music
Music related libraries
- denverstars71 - A Löve custom waveform generation library.
- lovebpmstars63 - A LÖVE library for syncing events to the BPM of an audio track.
- ripplestars27 - An audio manager with tagging support.
- wavestars81 - 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)
- LoverNetstars52 - A networking library that leverages bitser and enet. (IPv4)
- NoobHubstars265 - OpenSource multiplayer and network messaging. (IPv6)
- Sock.luastars144 - A Lua networking library for LÖVE games. (IPv4)
- löve-wsstars19 - A websocket client and server library.
- love2d-lua-websocketstars17 - A simple event-driven websocket client library. (IPv4)
OO
Object Orientation Libraries that support Class-Commonsstars46
- 30logstars365 - Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins.
- classicstars620 - 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.
- middleclassstars1.5k - Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons).
- muunstars7 - Moonscript compatible class implementation.
- selenestars8 - Project template for writing games in Moonscript instead of Lua without precompiling.
Performance
Performance measurement tools
- AppleCakestars9 - Profiling library for LÖVE, with detailed profiling and thread support.
- jprofstars71 - Profiling library/tool for LÖVE.
- Piefillerstars19 - 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
- breezefieldstars29 - A lightweight and easy love.physics wrapper (windfield alternative).
- Bumpstars748 - Collision detection library for Lua.
- HC - Collision detection with arbitrary polygons; allows rotation of objects.
- loveblobsstars59 - A softbody library with support for both dynamic and static arbitrary softbodies.
- Strikestars11 - 2D collision detection library. Extendable, based on Separating-Axis-Theorem.
Platforms
Ports for Platforms other than Windows, Mac and Linux
- LoveDosstars604 - 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.
- LovePotionstars375 - Unofficial work-in-progress implementation of the LÖVE API for Nintendo 3DS and Nintendo Switch Homebrew.
- LOVE-WrapLuastars27 - A small and simple wrapper for OneLua, lpp-vita, and Lua Player PS3.
- Love.jsstars350 - LÖVE ported to the web using Emscripten.
- LÖVRstars1.4k - LÖVE for virtual reality devices.
Publishing
Guides to distributing LÖVE games in 3rd party stores
- Love-Snap-Templatestars22 - A template for packaging LÖVE games for distribution in the Snappy Store.
- AppImageKitstars7.3k - 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
- arsonstars5 - Companion library for registering custom data types that can be encoded and decoded by json.lua.
- binserstars167 - Customizable Lua Serializer.
- bitserstars133 - Serializes and deserializes Lua values with LuaJIT.
- cdatastars30 - Serialize between Lua data and C data using LuaJIT's FFI.
- knife.serialize - Serialize data as a Lua script.
- Ladystars34 - Saving and loading savegames; based on Ser.
- moonblobstars18 - Binary serialization and data parsing library.
- Serstars71 - Fast, robust, richly-featured table serialization library for Lua.
- Smallfolkstars16 - A fast, robust, secure, richly-featured table serialization library for Lua.
- tricklestars29 - A bitstream library focused on high compression for use in networking.
Shaders
GLSL related Libraries
- LoveShaderConverterstars60 - 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.
- Moonshinestars435 - Repository of common post-processing effects like blur, vignette, color-grading, etc.
Testing
Libraries and Tools for Unit Testing
- bustedstars1.1k - Simple unit-testing framework with customizable assertions.
- knife.test - Fixture-free test framework.
- Luassertstars130 - Extends
assert()
with additional, customizable tests. - Lunateststars75 - xUnit-style randomized unit testing framework.
- luststars74 - Minimal test framework.
- Specl - Behavior Driven Development (BDD) tool.
- Telescope - Highly-customizable BDD-style testing library.
Tweening
Smoothing & Timer Libraries
- Fluxstars286 - 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.
- tickstars86 - Lua module for delaying function calls.
- tween.luastars473 - Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method.
UI
User Interface Libraries
- CatUIstars81 - A very light-weight GUI library for LÖVE.
- GOOistars184 - Android-oriented GUI library.
- Gspöt - A stateful GUI lib for LÖVE.
- Hanker - Maximalist immediate mode-ish UI elements; gamepad-friendly.
- Heliumstars71 - A modern, customizable, high performance retained UI framework.
- ListBoxstars14 - A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs.
- LoveFrames Forkstars88 - 11.2 Fork of a GUI library.
- Love Imguistars274 - Imgui module for the LÖVE game engine.
- Löve-Nuklearstars292 - Lightweight immediate mode GUI for LÖVE games.
- Lynx - Very-lightweight list-based UI library.
- NLaystars17 - Flexible layouting library.
- Patchystars33 - 9patch library.
- Slicystars1 - A newer 9patch/9slice library fixing some issues with Patchy.
- Planstars11 - 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.
- SafeWordstars3 - An overscan detection library for LÖVE.
- Slabstars203 - Slab is an immediate mode GUI toolkit for the LÖVE framework.
- SUITstars410 - Small immediate mode GUI library.
- YALGstars10 - A very simple, cross-platform, reactive UI for last minute UIs.
Utilities
Non-Game specific libraries and tools
- ArrayRotation - Rotation of two dimensional arrays (square and non-square).
- cargostars132 - Asset manager.
- chance.lua - Library for generating random data.
- colorchangerstars1 - Change the colors in your LÖVE game.
- Flirtstars11 - LÖVE version manager; allows to switch between multiple versions of engine on same machine.
- GifCatstars36 - A simple module for saving gifs from LÖVE.
- hex2colorstars5 - A single function to use HEX color values.
- i18nstars20 - Internationalization library designed to help localize your game.
- Ini Parserstars7 - General purpose ini configuration parser.
- log.luastars241 - Library for configurable log output.
- love-loaderstars112 - Threaded resource loading.
- love2d-assets-loaderstars32 - Assets Loader.
- love-pestars13 - A tool made in LÖVE for changing LÖVE icon itself.
- lovely-enginestars7 - A tool that makes setting up and using LÖVE easier and with Moonscript support.
- Lilystars82 - Async Asset Loader.
- luasteamstars65 - Lua bindings for the Steamworks API.
- Luventstars64 - Simple event-driven programming.
- nativefiledialog - Open a file picker on Windows/Mac/Linux.
- nativefsstars14 - Read and write files outside of LÖVE's allowed paths.
- Optikon - WYSIWYG visual level designer.
- ParticleEditorstars1 - An editor of particle for LÖVE.
- particle-system-playgroundstars10 - A basic LÖVE particle system editor.
- require.luastars3 - Require all files in a folder.
- splashystars29 - Splash Screen Library.
- ShakeDetectorLuastars4 - Uses accelerometer data for shake device detection written in Lua.
- tickstars60 - Useful timing tweaks for LÖVE's run loop.
Tutorials
Blogs and 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
Integrated Development Environments and text editor plugins
- Atom - A hackable text editor for the 21st Century (obsolete).
- Love-Atom - Smart autocompletion for the LÖVE framework in Atom.
- Autocomplete GLSL - Adds GLSL autocompletion in Atom.
- language-glsl - OpenGL Shading Language support in Atom.
- language-lua - Lua language support in Atom.
- linter-luacheckstars12 - Lint Lua on the fly, using luacheck.
- Löve Launcher - Launch LÖVE for the current project without having to leave Atom.
- Löve IDE - This package auto-installs several utilities for writing Love2D games in Atom.
- Autocomplete Löve - Auto-complete and snippets for LÖVE.
- Hyperclick Löve - A Hyperclick provider for LÖVE which shows the wiki.
- linter-luaparse - Lua syntax error checking in Atom.
- Brackets - A modern, open source text editor by Adobe (obsolete).
- Lua Syntax Highlighterstars3 - Add Lua syntax highlighting in Brackets.
- LÖVE Hints for Brackets.io - Provides LÖVE code hints.
- Run LÖVEstars4 - Run LÖVE projects with a hotkey.
- ZeroBrane Studio - ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support.
- API Syntax Hightlightstars9 - Script to add LOVE API syntax highlighting to ZBS.
- IntelliJ IDEA - Capable and Ergonomic Java IDE.
- Vim - Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.
- Vim LOVE Docsstars48 - Syntax highlighting for Vim.
- Notepad++ - Notepad++ is a free source code editor and Notepad replacement that supports several languages.
- LÖVE API for Notepad++stars10 - Code completion and documentation for Notepad++.
- 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.
- 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.
- 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.
Distribution
Tools that automate game publishing in one way or another
- love-packagerstars12 - Simple CLI to package your LÖVE Game in seconds.
- boonstars107 - Multi-platform, easy to use tool supporting Windows, macOS, Linux.
- love-exportstars43 - Fast and simple command-line tool that builds binaries for you. Supports Windows, macOS, and Linux.
- love-releasestars434 - A Lua script that automates game distribution. Supports Windows, macOS, Debian, Linux.
- makelovestars62 - Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage.
- love-deploystars3 - Build and deploy games on itch.io (supports windows and web exports).
- love-fuserstars8 - Packages LÖVE Games using GitHub Actions. Supports Windows, Linux, and Android.
Related
- awesome-luastars3k - A list like this one, but more general and encompassing all of Lua's uses.
- awesome-love-shadersstars60 - A collection of shaders designed to work in LÖVE.
- awesome-pico8stars2.1k - A curated list of PICO-8 resources, tutorials, tools and more.
Other awesome lists can be found in the awesome-awesomenessstars29k list.