Project checks
Check every Godot scene before a build, and add your own rules to your scripts.
Project checks are for Godot projects. Turn on Run project checks on the Builds tab.
What the checks do
On a copy of your project, LoreOwl:
- Runs Godot's import, so scripts that use
class_namecompile. - Loads every
.tscnand.scnscene. - Creates an instance of each scene, which catches scripts that fail when the scene starts.
- Evaluates the validation conditions that your scripts declare.
A scene that does not load, a scene that does not instantiate, and a script that does not compile are errors. Any error stops the build. Warnings and info do not.
LoreOwl skips the top-level addons folder and every file or folder whose name starts with ..
Each pass has a five-minute limit.
Add your own rules
Add _get_validation_conditions() to a script. Return an array of conditions.
extends Node3D
@export var spawn_point: Node3D
@export var max_health: int = 100
func _get_validation_conditions() -> Array:
return [
{
"condition": spawn_point != null,
"message": "Spawn point is not assigned",
"severity": "error",
},
{
"condition": func(): return max_health > 0,
"message": "Max health should be above zero",
"severity": "warning",
},
]conditionis aboolor aCallablethat returns one. A condition fails when it isfalse.severityis"error","warning"or"info". Any other value counts as a warning.- A dictionary without all three keys is skipped.
ValidationCondition helpers
The checks also accept ValidationCondition objects from the bundled Godot Doctor library. Its
helpers are simple, is_instance_valid, string_not_empty, stripped_string_not_empty,
is_in_range_int, is_in_range_float, has_child_count, has_minimum_child_count,
has_maximum_child_count, has_no_children, has_node_path and scene_is_of_type.
Most helpers are warnings by default. is_instance_valid is an error by default.
The check report
In History, open the menu on a build and select Check report. The report lists errors, warnings and info with the file and node of each one. It shows All checks passed when there are no errors.
Limits
- Your GdUnit4 or GUT tests do not run. The checks are a scene walk plus your own rules.
- There are no built-in rules beyond load, instantiate and compile.
- Checks run as part of a build. You cannot run them on their own.
- Warnings never stop a build.