Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .claude/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add jame581/GodotPrompter --skill 2d-essentials -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .agents/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add jame581/GodotPrompter --skill 2d-essentials -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .cursor/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add jame581/GodotPrompter --skill 2d-essentials -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .gemini/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add jame581/GodotPrompter --skill 2d-essentials -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .github/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add jame581/GodotPrompter --skill 2d-essentials -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "2d-essentials" agent skill from https://github.com/jame581/GodotPrompter/tree/master/skills/2d-essentials into .opencode/skills/2d-essentials/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "2d-essentials", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
2d-essentials
GitHub stars
795
Token cost
~2.3k tokens
SKILL.md length
917 words
Files
6 (incl. references)
Skills in repo
58
Repo updated
First seen
Licence
MIT
At a glance
Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing.
Works in 10 steps: Canvas Layers and Draw Order → TileMap System → Parallax Scrolling → …
Building tile-based levels with Godot TileMaps
SKILL.md covers 1. Canvas Layers and Draw Order, 2. TileMap System, 3. Parallax Scrolling and 4. 2D Lights and Shadows, plus 6 more sections
Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
What it does
This is a reference for 2D-specific systems in Godot 4.3 and later, with every example written for current APIs, GDScript first and C# second. It begins with canvas layers and draw order: nodes in one layer draw in scene-tree order, z_index overrides that without reordering the tree, and CanvasLayer is for elements that should ignore the camera, such as parallax backgrounds, the HUD and pause menus.
It then explains how Camera2D works through the viewport's canvas transform, shows coordinate conversion between local and world space, and moves on to the TileMap system. Separate reference files go deeper on tilemaps, parallax, lights and shadows, 2D particles and custom drawing. The skill also points to sibling skills for player controllers, animation, physics, cameras, shaders and optimization.
When your agent uses it
Building tile-based levels with Godot TileMaps
Setting up parallax backgrounds, 2D lighting or shadows
Fixing draw order problems between sprites, HUD and backgrounds
Drawing custom 2D shapes or particles in code
Example prompts
“Set up a parallax background with three layers for my platformer.”
“My HUD draws behind the player; fix the canvas layer and z_index setup.”
“Add 2D lights and shadows to my dungeon tilemap, in C#.”
Requirements
Godot 4.3 or later
Workflow steps
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1e7d79d. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
No scripts in the folder and no shell commands in SKILL.md (its code samples are gdscript and csharp).
From the folder's file list and the shell code blocks in SKILL.md.
Network
Links to these hosts (documentation or services it may open):
docs.godotengine.org
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Godot 2D Essentials loads about 2.3k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 917 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~46
When it runs· the whole SKILL.md, loaded when a task matches
~2.3k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~7.1k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/2d-essentials/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
2d-essentials
description
Use when working with 2D-specific systems — TileMaps, parallax scrolling, 2D lights and shadows, canvas layers, particles 2D, custom drawing, and 2D meshes in Godot 4.3+
2D Essentials in Godot 4.3+
All examples target Godot 4.3+ with no deprecated APIs. GDScript is shown first, then C#.
Related skills:player-controller for CharacterBody2D movement patterns, animation-system for AnimatedSprite2D and sprite animation, physics-system for collision shapes and raycasting, camera-system for Camera2D follow and shake, shader-basics for 2D shaders and post-processing, godot-optimization for rendering and draw call tuning.
1. Canvas Layers and Draw Order
Draw Order Rules
Within a single canvas layer, nodes draw in scene tree order — nodes listed lower in the Scene panel draw on top. Use z_index to override without rearranging the tree.
gdscript
# Draw this node above siblings (default z_index is 0)
z_index = 10
# Make z_index relative to parent (default: false = global)
z_as_relative = true
CanvasLayer
CanvasLayer creates a separate rendering layer with its own transform, independent of the camera. Higher layer values draw on top.
Layer
Typical Use
-1
Parallax backgrounds
0
Default game layer (all Node2D without CanvasLayer)
1
HUD / UI overlay
2
Pause menu, screen transitions
# Scene tree example
Main
├── ParallaxBackground (CanvasLayer, layer = -1)
│ └── Parallax2D
├── World (Node2D — default layer 0)
│ ├── TileMapLayer
│ └── Player
└── HUD (CanvasLayer, layer = 1)
└── Control
Note: CanvasLayers are NOT required to control draw order. For objects within the same game world, use z_index or scene tree ordering. CanvasLayers are for elements that should be independent of the camera (HUD, parallax, transitions).
Canvas Transform
Camera2D works by modifying the viewport's canvas_transform. For manual control:
gdscript
# Scroll the canvas directly (equivalent to camera movement)
get_viewport().canvas_transform = Transform2D(0, Vector2(-200, 0))
Coordinate Conversion
gdscript
# Local to canvas (world) coordinates
var world_pos: Vector2 = get_global_transform() * local_pos
var local_pos: Vector2 = get_global_transform().affine_inverse() * world_pos
# Local to screen coordinates (accounts for camera, stretch, window)
var screen_pos: Vector2 = get_viewport().get_screen_transform() * get_global_transform_with_canvas() * local_pos
csharp
// Local to canvas (world) coordinates
Vector2 worldPos = GetGlobalTransform() * localPos;
Vector2 localFromWorld = GetGlobalTransform().AffineInverse() * worldPos;
// Local to screen coordinates
Vector2 screenPos = GetViewport().GetScreenTransform() * GetGlobalTransformWithCanvas() * localPos;
2. TileMap System
TileMapLayer (Godot 4.5+) is the modern API — one tilemap = one node = one layer. Drive painting with a TileSet resource (atlas + properties + physics + custom data). Use terrain autotiling for biome-aware tile selection, scene collection tiles for placing scene instances on tiles.
See references/tilemap.md for full TileSet setup, atlas / physics / terrain configuration, custom data on tiles, scene collection tiles, and the 4.5+ tile-collision-bump auto-merge fix.
3. Parallax Scrolling
Parallax2D (Godot 4.4+) replaces the older ParallaxBackground/ParallaxLayer pair. Set scroll_scale per layer (0 = static, 1 = follows camera 1:1, fractional values for depth). Add repeat_size for infinite tiling.
See references/parallax.md for Parallax2D setup, side-scroller layer example, infinite repeat, split-screen parallax, common mistakes.
4. 2D Lights and Shadows
PointLight2D and DirectionalLight2D cast lighting onto sprites — pair with a normal map for 3D-style shading or use additive-blend illumination on flat sprites. Cast shadows with LightOccluder2D.
See references/lights-and-shadows.md for node overview, PointLight2D properties, shadow settings, cull masks, occluders, 2D normal maps, pixel-art lighting tips, and additive-sprite fake-light tricks.
5. 2D Particle Systems
GPUParticles2D for high counts (≥ 50 particles, GPU-driven), CPUParticles2D for low counts or platforms without GPU support. Both share the same ParticleProcessMaterial interface; differences are mainly performance.
See references/2d-particles.md for the GPU-vs-CPU distinguishing choices, basic setup, ParticleProcessMaterial 2D properties, emission from textures, flipbook, visibility rect, common 2D recipes.
6. Custom Drawing
Override _draw() on any CanvasItem to draw lines, polygons, text, or arbitrary shapes. Call queue_redraw() to trigger a re-render (never call _draw() directly).
See references/custom-drawing.md for the _draw() method, redrawing patterns, full drawing-methods reference, default font usage, @tool editor preview, line-width gotchas.
Godot 4.7+:DrawableTexture2D — a runtime-drawable texture type — shipped experimental in 4.7 and is not yet recommended for production.
7. 2D Meshes
When to Use
MeshInstance2D replaces Sprite2D when large transparent areas waste GPU fill rate. The GPU draws the entire texture quad including fully transparent pixels — a mesh eliminates those.
Converting Sprite2D to MeshInstance2D
Select the Sprite2D
Menu: Sprite2D → Convert to MeshInstance2D
Adjust growth and simplification parameters
Click "Convert 2D Mesh"
Best candidates:
Screen-sized images with transparency
Parallax layers with irregular shapes
Layered images with large transparent borders
Mobile/low-end GPU targets
8. 2D Antialiasing
Show full SKILL.md (370 more words)Show less
Per-Node Antialiasing (Recommended)
Many drawing methods support an antialiased parameter:
// Equivalent in a CanvasItem subclass (e.g., a custom Control or Node2D):
public override void _Draw()
{
DrawLine(new Vector2(0, 0), new Vector2(100, 50), Colors.White, width: 2.0f, antialiased: true);
}
Line2D has an Antialiased property in the inspector — set it via line2D.Antialiased = true in C# or as an Inspector toggle in the editor. This works by generating additional geometry — no MSAA needed.
⚠️ Changed in Godot 4.7:CanvasItem antialiased line drawing no longer adds the antialiasing feather. The feather made draw_line()-style lines appear thicker than intended, so antialiased lines render thinner after upgrading — projects that relied on the old look must draw a thicker width. See the 4.7 migration guide.
MSAA 2D
Available in Forward+ and Mobile renderers only (NOT Compatibility).
Godot 2D Essentials next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Godot 2D Essentials compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Godot 2D Essentials this skilljame581/GodotPrompter
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
Covers Godot 4.3+ 3D systems such as materials, lighting, shadows, environment, global illumination, fog, LOD, occlusion culling and decals, with GDScript first and C# second.
Builds a data-driven ability system in Godot 4 from Resources and a component node, with cooldowns, buffs, stat modifiers, gameplay tags and HUD binding.
Covers Godot 4.3+ editor plugins: plugin folders, @tool scripts, the EditorPlugin lifecycle, custom inspectors, dock panels and gizmos, in GDScript and C#.
Covers animation in Godot 4.3 and later: AnimationPlayer basics, AnimationTree blend trees and state machines, sprite animation, skeleton IK and code-driven motion.
Explains how Godot 4.3 and later imports assets: image compression modes, 3D scenes, audio and resource formats, and import settings, with GDScript and C# examples.
Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing. 3 and later, with every example written for current APIs, GDScript first and C# second. It begins with canvas layers and draw order: nodes in one layer draw in scene-tree order, z_index overrides that without reordering the tree, and CanvasLayer is for elements that should ignore the camera, such as parallax backgrounds, the HUD and pause menus.
When should I use Godot 2D Essentials?
Godot 2D Essentials fits situations like: building tile-based levels with Godot TileMaps; setting up parallax backgrounds, 2D lighting or shadows; fixing draw order problems between sprites, HUD and backgrounds; drawing custom 2D shapes or particles in code.
How do I install Godot 2D Essentials in Claude Code?
Run `npx skills add jame581/GodotPrompter --skill 2d-essentials -a claude-code`. Or copy the skill folder (skills/2d-essentials in jame581/GodotPrompter) into .claude/skills/2d-essentials in your project. Claude Code loads it when a task matches its description.
How do I install Godot 2D Essentials in Codex?
Run `npx skills add jame581/GodotPrompter --skill 2d-essentials -a codex`. Or copy the skill folder (skills/2d-essentials in jame581/GodotPrompter) into .agents/skills/2d-essentials in your project. Codex loads it when a task matches its description.
Can I use Godot 2D Essentials in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jame581/GodotPrompter --skill 2d-essentials -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/2d-essentials, .gemini/skills/2d-essentials, .github/skills/2d-essentials and .opencode/skills/2d-essentials in your project.
What does Godot 2D Essentials need to run?
SKILL.md names no scripts, command-line tools or credentials: Godot 2D Essentials is instructions for the agent only. Our summary lists: Godot 4.3 or later.
Does Godot 2D Essentials access the network?
SKILL.md names 1 domain. As links in the text: docs.godotengine.org. This is read from the text; nothing was executed.
Is Godot 2D Essentials safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Godot 2D Essentials use?
Godot 2D Essentials is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Godot 2D Essentials use?
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.7k tokens, read only when the agent opens those files.
What are the alternatives to Godot 2D Essentials?
Skills that share tags, products or a category with Godot 2D Essentials: AI Game Art Pipeline (ybuild-ai/ai-game-art-pipeline-skill, 297 stars), Godot Admob App Open (poingstudios/godot-admob-plugin, 632 stars), Godot Admob Banner (poingstudios/godot-admob-plugin, 632 stars) and Godot 3D World Building (thedivergentai/GD-Agentic-Skills, 809 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Godot 2D Essentials?
jame581 (a GitHub user) maintains it in jame581/GodotPrompter, which has 795 GitHub stars. The repository holds 58 skills in this directory. The repository was last updated on October 6, 2026.
Source: jame581/GodotPrompter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.