Skillshub defold-project-setup
Downloads Defold project dependencies into .deps/ folder. Also provides recommended game.project settings. Use FIRST before any other task when .deps/ folder is missing or empty, or after editing dependency URLs in game.project. Also use when creating a new project, configuring game.project, or asking about recommended project settings.
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/indiesoftby/defold-agent-config/defold-project-setup" ~/.claude/skills/comeonoliver-skillshub-defold-project-setup && rm -rf "$T"
manifest:
skills/indiesoftby/defold-agent-config/defold-project-setup/SKILL.mdsource content
Setup Defold Project
Downloads and extracts Defold library dependencies and engine builtins into the
.deps/ directory, which is used as read-only context for resolving module references. Also provides recommended game.project settings for new projects.
When to Run
- Before any task if the
folder does not exist or is empty..deps/ - After editing dependencies in
(anygame.project
entry was added, removed, or changed).[project] dependencies#N
How to Run
Execute the setup script from the project root:
Windows (PowerShell):
python .agents/skills/defold-project-setup/scripts/fetch_deps.py
Linux/macOS:
python3 .agents/skills/defold-project-setup/scripts/fetch_deps.py
Use
--dry-run to print what would be done without downloading or extracting anything.
What It Does
- Reads
and parses allgame.project
URLs.[project] dependencies#N - Downloads each dependency zip to a temporary directory.
- Inspects each zip's
forgame.project
.[library] include_dirs - Extracts only the declared include directories into
..deps/ - Downloads Defold engine builtins into
(from the latest stable release)..deps/builtins/
After Running
- The
folder is ready for use as a read-only include directory..deps/
Recommended game.project settings
When creating a new project or reviewing
game.project, apply these recommended baseline settings. They provide sensible defaults for most Defold games.
[html5]
[html5] scale_mode = Stretch heap_size = 64 cssfile = /builtins/manifests/web/dark_theme.css retry_count = 1000
— the HTML5 canvas fills the entire browser window.scale_mode = Stretch
— 64 MB is enough for most games; the engine will allocate more if needed.heap_size = 64
— dark theme is a better default than white.cssfile = /builtins/manifests/web/dark_theme.css
— the engine retries loading game files up to 1000 times on network issues, preventing failures on slow connections.retry_count = 1000
[engine]
[engine] fixed_update_frequency = 60 max_time_step = 0.05
— fixed update runs at 60 FPS (this is the Defold default).fixed_update_frequency = 60
— the game runs without slowdowns down to 20 FPS. Below that, the game slows down instead of skipping large time chunks.max_time_step = 0.05
[physics]
[physics] gravity_y = -1000.0 scale = 0.01 velocity_threshold = 100.0 use_fixed_timestep = 1 max_fixed_timesteps = 0
— this value is multiplied bygravity_y = -1000.0
, so internally the physics engine sees -10 m/s² (Earth gravity).physics.scale
— for 2D games this is typicallyscale = 0.01
(1 pixel = 0.01 m). For 3D games use0.01
(1 unit = 1 m).1.0
— (2D physics only) for stable physics this should bevelocity_threshold = 100.0
, so1.0 / physics.scale
when scale is100.0
.0.01
— physics runs in fixed timestep mode. Move object interpolation between physics steps via theuse_fixed_timestep = 1
extension.object_interpolation
— (3D physics only) passes fixed dt directly from the Defold engine to Bullet3D and disables Bullet3D's internal accumulator.max_fixed_timesteps = 0