A simple Lua framework for rapidly building VR experiences.
Inspired by LÖVE, a 2D game framework.
Website | Documentation | FAQ
- Cross-Platform - Runs on Windows, Mac, Linux, Android, and even on the web using WebAssembly and WebVR.
- Cross-Device - Supports HTC Vive, Oculus Touch, Oculus Go, and Windows MR. There's also a keyboard/mouse VR simulator.
- Beginner-friendly - Simple VR scenes can be created in just a few lines of Lua.
- Fast - Writen in C99 and scripted with LuaJIT, includes optimized single-pass stereo rendering.
- Asset Import - Supports 3D models (glTF, FBX, OBJ), skeletal animation, HDR textures, cubemaps, fonts, etc.
- Spatialized Audio - Audio is automatically spatialized using HRTFs.
- 3D Rigid Body Physics - Including 4 collider shapes and 4 joint types.
- Compute Shaders - For high performance GPU tasks, like particles.
- Multiplayer - Includes enet for multi-user VR experiences.
- Umlauts - !!!
It's really easy to get started making things with LÖVR! Grab a copy of the executable from https://lovr.org/download,
then write a main.lua script and drag its parent folder onto the executable. Here are some example projects to try:
function lovr.draw()
lovr.graphics.print('Hello World!', 0, 1.7, -3, .5)
endfunction lovr.draw()
lovr.graphics.cube('line', 0, 1.7, -1, .5, lovr.timer.getTime())
endfunction lovr.draw()
controllers = lovr.headset.getControllers()
for _, controller in ipairs(controllers) do
x, y, z = controller:getPosition()
lovr.graphics.sphere(x, y, z, .1)
end
endfunction lovr.load()
model = lovr.graphics.newModel('teapot.fbx', 'teapot.png')
end
function lovr.draw()
local x, y, z = 0, 0, 0
model:draw(x, y, z)
endYou can also find lots of other WebVR examples on the docs page.
Here's how to compile LÖVR using CMake:
mkdir build
cd build
cmake ..
cmake --build .For more help, see the Compiling Guide.
- Documentation: Guides, tutorials, examples, and API documentation.
- FAQ: Frequently Asked Questions.
- Slack Group: For general LÖVR discussion and support.
- Nightly Builds: Nightly builds for Windows.
- Compiling Guide: Information on compiling LÖVR from source.
- Contributing: Guide for helping out with development ❤️
MIT, see LICENSE for details.



