Lua is a powerful and flexible scripting language commonly used in game development and other embedded systems. When writing Lua code, it’s important to follow naming conventions to improve code readability and maintainability. In this tutorial, we will discuss the recommended naming conventions for various elements in Lua code.

File Names

It’s a good practice to name Lua source files with lowercase letters and separate words with underscores. For example, game_logic.lua or utilities.lua. Using lowercase makes it easier to work with different platforms and packages.

Classes and Interfaces

Lua is not an object-oriented programming language in its traditional sense, but it supports object-oriented programming through tables and metatables. When creating classes or interfaces in Lua, use the CamelCase naming convention. For example, Player or CharacterController. This convention helps distinguish classes from variables and functions.

Functions and Variables

For functions and variables, use lowercase letters and separate words with underscores. This convention improves readability and makes it easier to understand the purpose of the function or variable. Examples include calculate_score or player_health.


To indicate that a variable is a constant, use uppercase letters and separate words with underscores. Constants are values that do not change during the execution of the program. For example, MAX_HEALTH or PI.

Modules and Libraries

When creating modules and libraries, use lowercase letters and separate words with underscores. Modules and libraries are typically encapsulated in separate files. For example, math_utils.lua or inventory_module.lua. Using lowercase letters helps maintain consistency with other Lua code conventions.

Example Usage

-File: game_logic.lua

local Player = {}

function Player:new(name)
  local obj = {
    name = name,
    health = 100,
  setmetatable(obj, self)
  self.__index = self
  return obj

function Player:take_damage(damage) = damage

local player = Player:new(""John"")

print( -Output: 80


Following consistent and clear naming conventions in Lua code improves code readability, maintainability, and collaboration. By using the recommended conventions for files, classes, interfaces, functions, variables, constants, modules, and libraries, you can write clean and professional Lua code.

I hope you found this tutorial helpful! Happy coding in Lua!