Lua Virtual Reality Framework
See the codeA simple Lua framework for rapidly building 3D games and VR experiences.
Homepage | Documentation | FAQ
It's really easy to get started making things with LÖVR. Grab a copy of the executable from https://lovr.org/downloads,
then write a main.lua script and drag it onto the executable. Here are some example projects to try:
function lovr.draw(pass)
pass:text('Hello World!', 0, 1.7, -3, .5)
end
function lovr.draw(pass)
pass:cube(0, 1.7, -1, .5, lovr.timer.getTime())
end
function lovr.draw(pass)
for _, hand in ipairs(lovr.headset.getHands()) do
pass:sphere(vec3(lovr.headset.getPosition(hand)), .1)
end
end
function lovr.load()
model = lovr.graphics.newModel('model.gltf')
end
function lovr.draw(pass)
pass:draw(model, x, y, z)
end
More examples are on the docs page.
You can build LÖVR from source using CMake. Here are the steps using the command line:
mkdir build
cd build
cmake ..
cmake --build .
See the Compiling Guide for more info.
Tests can be found in the test/lovr directory.
You can run all of LÖVR tests from the command line with the following:
./build/bin/lovr test
To run tests for a single module, pass the name of the module as an argument (e.g. this runs the tests for the data module):
./build/bin/lovr test data
MIT, see LICENSE for details.
489 followers · starred Aug 2021
433 followers · starred Sep 2025
81 followers · starred Feb 2024
194 followers · starred Mar 2022
C
90.0%
C++
5.8%
JavaScript
2.0%
Lua
1.4%
Lua Virtual Reality Framework
See the codeA simple Lua framework for rapidly building 3D games and VR experiences.
Homepage | Documentation | FAQ
It's really easy to get started making things with LÖVR. Grab a copy of the executable from https://lovr.org/downloads,
then write a main.lua script and drag it onto the executable. Here are some example projects to try:
function lovr.draw(pass)
pass:text('Hello World!', 0, 1.7, -3, .5)
end
function lovr.draw(pass)
pass:cube(0, 1.7, -1, .5, lovr.timer.getTime())
end
function lovr.draw(pass)
for _, hand in ipairs(lovr.headset.getHands()) do
pass:sphere(vec3(lovr.headset.getPosition(hand)), .1)
end
end
function lovr.load()
model = lovr.graphics.newModel('model.gltf')
end
function lovr.draw(pass)
pass:draw(model, x, y, z)
end
More examples are on the docs page.
You can build LÖVR from source using CMake. Here are the steps using the command line:
mkdir build
cd build
cmake ..
cmake --build .
See the Compiling Guide for more info.
Tests can be found in the test/lovr directory.
You can run all of LÖVR tests from the command line with the following:
./build/bin/lovr test
To run tests for a single module, pass the name of the module as an argument (e.g. this runs the tests for the data module):
./build/bin/lovr test data
MIT, see LICENSE for details.
489 followers · starred Aug 2021
433 followers · starred Sep 2025
81 followers · starred Feb 2024
194 followers · starred Mar 2022
C
90.0%
C++
5.8%
JavaScript
2.0%
Lua
1.4%