GDScript projects — indie software
-
Sprite Editor
This project develops a free and open source sprite editor tool for Godot, helping small studios to optimise their pipeline and reduce time. Since indies lack the resources for deep optimisations, this tool improves key processes. In the long term, the goal is for the community to adopt it and for it to be natively integrated into Godot.
-
GBIS-Grid Base Inventory System
A foundational inventory framework for Godot Designed with an MVC-like architecture that separates presentation layer from data layer, offering high extensibility Simple integration with minimal intrusion into existing projects Supports independent data saving and loading
-
Save & Load
This plugin adds dialogue and choice functionality to your Godot 4 project. It's simple, efficient, and ideal for beginners. Note: Watch the setup video before downloading.
-
Localization
This plugin translates your Godot 4 project. It's simple, efficient, and ideal for beginners. Note: Watch the setup video before downloading.
-
Dialogue
This plugin adds dialogue and choice functionality to your Godot 4 project. It's simple, efficient, and ideal for beginners. Note: Watch the setup video before downloading.
-
Inventory
This plugin adds inventory management, crafting, drag-and-drop functionality, collectible items, food, item durability, and more to your Godot 4 project. It's simple, efficient, and ideal for beginners. Note: Watch the setup video before downloading.
-
AI Context Generator
Export your entire Godot project structure as JSON for AI/LLM analysis. This lightweight plugin captures all scenes, scripts, properties, and project settings in a clean JSON format perfect for AI assistants. ✨ Features: - Complete project analysis (scenes, scripts, properties) - One-click generation via Project menu - Automatic clipboard copying - Non-default properties only (clean data) - Multi-language support (GDScript + C#) - Zero UI clutter - simple menu integration Perfect for getting intelligent assistance from ChatGPT, Claude, and other AI tools with full project context!
-
Constants Generator C#
The plugin automatically extracts input actions, collision layers, and group names from project.godot and generates strongly-typed C# constants.
-
[GSL] Godot Shader Linker
Shader graph assembler for Godot 4.2+. Import a Blender node graph and get an equivalent Godot shader. Installation Copy the addons/godot_shader_linker_(gsl) directory into your Godot project. In Project → Plugins enable “Godot Shader Linker (GSL)”. A Shader Linker tab will appear in the editor Bottom Panel. Setting up the Blender add‑on Method 1 — install from zip (recommended) Blender → Edit → Preferences → Add-ons → Install… Select gls_blender_exp.zip. Enable GSL Exporter in the add‑ons list. Switch to Godot — the Shader Linker panel will show Status: Connected to Blender. Method 2 — Scripts Directories (convenient for development) Blender → Edit → Preferences → File Paths → Scripts Directories → Add Point it to .../addons/godot_shader_linker_(gsl)/Blender (or directly to .../Blender/addons, where gls_blender_exp lives). Restart Blender and enable GSL Exporter (Add-ons). Switch to Godot — the Shader Linker panel will show Status: Connected to Blender. Supported Nodes - Texture Coordinate - Mapping - Image Texture (projections: Flat, Box, Sphere, Tube; interpolations: Linear, Closest; extension: Repeat, Extend) - Noise Texture - Fractal Noise - Color Ramp - Combine Color - Separate Color - Combine XYZ - Separate XYZ - Math (subset of modes: Add, Subtract, Multiply, Divide, Power, Modulo, Floor, Ceil, Truncate, PingPong, Atan2, Compare, etc.) - Vector Math (subset: Add, Subtract, Multiply, Divide, Dot Product, Cross Product, Normalize, Length, Distance, Scale, Project, Reflect, Refract, Wrap, Snap) - Normal Map (Tangent Space) - Bump - Principled BSDF (base set, simplified coat) - Material Output
-
Godot Save and Load Manager
Easy-to-use Godot plugin for saving and loading game data with optional encryption. Supports secure file creation, reading, updating, and automatic directory handling. Cross-platform, with robust error handling and simple API for saving dictionaries and variables. Perfect for secure game save management.
-
Jigsaw Puzzle Generator
Generate Jigsaw puzzles using your supplied images. Draggable pieces, connectable pieces, configurable puzzle piece counts!
-
Shaky Camera 3D
Camera3D that shakes.
-
Button Audio Player
Add sound to any Button. Non-invasive design, configured through the inspector, does not require scripting, and supports any node inherited from BaseButton.
-
Save and load polygon (PackedVector2Array) as Resource
Very simple plugin for saving and loading polygons PackedVector2Array as Resource. You can add any additional PackedArrays to the resource file to save additional types as resource. Just remember to change them in save_polygon_property.gd and have the property name parsed in inspector_plugin.gd
-
Ellyality Inventory
General inventory system fit for all types of game
-
Easy State Machine
A lightweight, modular state machine system designed for clean and flexible state handling. With signal-driven architecture and built-in state switching and binding, this plugin makes managing game states intuitive and easy.
-
Physics Collision Import Generator
Automatically generate physics bodies and collision shapes for 3D scenes from GLB/GLTF files. Select files in the Collision Import Generator dock, choose a shape type, and apply the changes. The plugin sets up import scripts that automatically add physics on each reimport. This captures both the user action (applying via the dock) and the persistent behavior (the import script runs on future reimports). After enabling the plugin (Project → Project Settings → Plugins), a new dock panel named "Collision Import Generator" will appear beside the FileSystem dock.
-
Save Manager Lite
- Features: Plug & Play - Just add the script as autoload and you're done Human-readable JSON format - Save files are easy to debug Emoji status messages - Clear visual feedback in console Built-in error handling - No crashes from missing or corrupted files Three simple functions - save_game(), load_game(), delete_save() - Quick Setup: Add the script to your project Go to Settings > Project Settings > Plugins Check "Enabled" Done! Start saving your game - Perfect for: Game jams and prototypes Small projects Developers who want a working save system in seconds Learning projects No dependencies, no complex setup, just simple game saving that works
-
CAVE Camera System
Scripts and scenes to setup Godot to use a VR projection CAVE using the default Godot camera system.
-
Google Sheets to Godot Localization
Sync your game's translations from Google Sheets to Godot with a single click.
-
UI Responsive Animations
Este complemento proporciona un sistema completo para animar elementos UI en Godot Engine utilizando C#. Es compatible con animaciones de movimiento, opacidad, splash, combinaciones y ciclos, permitiendo crear interfaces dinámicas y responsivas sin necesidad de AnimationPlayer. --------------------------------- This plugin provides a complete system for animating UI elements in the Godot Engine using C#. It supports motion, opacity, splash, blending, and looping animations, allowing you to create dynamic and responsive interfaces without needing AnimationPlayer.
-
External Debug Attach Plugin
One-click Run + Attach Debug to external IDE for Godot Editor. Supports VS Code, Cursor, and AntiGravity. Features: one-click to run game and attach debugger, optional wait for debugger to never miss initialization breakpoints, auto-detect IDE and solution paths, keyboard shortcut support (Alt+F5). Windows only.
-
EditorResourcePreviewGenerator Extensions
A Godot 4 plugin that extends the functionality of EditorResourcePreviewGenerator to simplify preview generation. Fully compatible with Godot's existing EditorResourcePreview functionality. The EditorResourcePreviewGenerator2D class allows for generating previews using CanvasItem-style drawing calls. It is an EditorResourcePreviewGenerator, but its _generate_2d() method replaces the parent class's _generate() method and passes in an object that allows for calling drawing methods (draw_circle, draw_polyline, etc).
-
Audio Bus Volume Slider
Simple extension of HSlider that provides a slider to control any audio bus.
-
Inventory Forge
Visual item database editor with multilingual support for RPG and adventure games
-
Single Audio2D Range View
Editor plugin for Godot 4 that visualizes the range of the selected AudioStreamPlayer2D node in the scene in 2D space using a radial gradient based on max distance and attenuation property.
-
Multi Audio2D Range View
This plugin for Godot 4 visualizes the range of AudioStreamPlayer2D nodes in a scene in 2D space, using a radial gradient based on the maximum distance and attenuation property. The visualization can be enabled and disabled via a new button that appears in the 2D tab of the scene.
-
Dingo Room Generator
Dingo is a Godot add-on for generating and decorating customizable procedural dungeons/rooms!
-
GUIPresser
A node that allows to handle clicks and hover over Control nodes
-
Energy Saver
A plugin to lower the Players Energy Usage without compromising the Player Experience. Included features are: -Setting an FPS Limit -Dimming the Screen when the Player goes Idle -Turning off the game logic and rendering after longer Idle Times -Separate FPS Limit for Menus, this needs to be activated via a function call To activate the Plugin, simply add the Energy Saver Node in your Main Scene. The Plugin is highly customizable and easy to use, allowing you to implement Energy Saving Features within seconds!
-
Godot_Debug.txt
A Godot 4 addon that writes all debug output (print, push_error, push_warning, engine errors) to a text file in your project folder. No code changes required – it intercepts output via OS.add_logger().
-
RepairScene
Repairs broken resource paths in Godot 4.x scene files after renaming or moving assets. You renamed a folder. Now half your scenes show "Scene file appears to be invalid/corrupt" and Godot refuses to open them. The .tscn files contain hard-coded resource paths that no longer exist on disk. Fixing them manually means opening each file in a text editor and rewriting every broken ext_resource path by hand. This EditorScript scans your .tscn files as raw text — bypassing Godot's resource loader entirely, because the whole point is to fix files Godot cannot open — finds every broken path= reference, and resolves it by matching the filename stem against your current project filesystem. Stale uid= tokens are stripped and regenerated on the next import. Always run with write_changes set to false first. The dry-run mode logs every change it would make without touching any file. Features: - Scans entire project or a specific subfolder - Resolves broken paths by filename stem match — handles moved files with the same name - Strips stale uid= tokens so Godot regenerates them cleanly - Backup system creates .bak files before overwriting anything - Dry-run mode: logs all proposed changes without writing to disk - Summary table: files scanned, refs broken, refs resolved, refs unresolved - Configurable backup directory and backup-skip logic - Zero dependencies — works in a blank project Create a new script with EditorScript as the base class. Paste RepairScene.gd contents. Set scan_root. Run with Ctrl+Shift+X. Review the Output panel. Set write_changes to true to apply. Godot 4.x only. GDScript 2.0. Extended version with fuzzy path resolution for renamed files and closest-directory disambiguation available at nullstateassets.itch.io.
-
SignalGraphVisualizer
Live runtime graph of all signal connections in your Godot 4.x scene. Signal connections in Godot are invisible at runtime. They live in the editor's Node panel, disconnected from your code, and there is no built-in way to see the full picture of what is connected to what while your game is running. Debugging a signal that never fires means opening every node one by one and checking its connections manually. This script opens a floating window at runtime that scans your entire scene tree and renders every signal connection as a graph. Emitter nodes appear on the left of each bezier curve, receiver nodes on the right. Click any card to highlight its connected nodes and dim everything else. Pan with middle mouse, zoom with scroll wheel. Features: - Full scene scan on ready with manual refresh button - Bezier connection lines between emitter and receiver node cards - Each card lists the node's emitted and received signal names - Click a card to isolate its connections and dim unrelated nodes - Pan and zoom canvas navigation - Configurable via Inspector: card colors, typography, line appearance, zoom limits, layout - Attach to any node — spawns its own Window without polluting your hierarchy - Zero dependencies — works in a blank project Add SignalGraphVisualizer.gd to any node in your scene. Hit play. The graph opens automatically. Godot 4.x only. GDScript 2.0. Extended version with live filter bar and click-to-inspect detail panel available at nullstateassets.itch.io
-
TileMapCollisionManager
Name-based collision layer management for TileMap in Godot 4.x. TileMap.set_layer_enabled() takes a layer index — a raw integer. Your layers have names. Every time you restructure your TileMap, those indices shift silently and your collision code breaks with no error messages. You are manually maintaining a number-to-name mapping in your head. This script builds a name-to-index cache at startup and exposes a clean string-based API. Write set_collision_enabled_by_name("Ground", true) instead of set_layer_enabled(2, true). Your code survives TileMap restructuring because it never references indices directly. Features: - Name-to-index cache built automatically on ready - set_collision_enabled_by_name() for single layer control - refresh_layer_cache() to rebuild after runtime structural changes - Inspector-configured initial collision state on scene load - Duplicate layer name detection with warnings - Debug layer map printing via Inspector toggle - Zero dependencies — works in a blank project Attach TileMapCollisionManager.gd to your TileMap node. It replaces TileMap as the base class. Set initial_enabled_layers in the Inspector. Done. Godot 4.x only. GDScript 2.0. Extended version with batch methods, global toggles, and state snapshot serialization available at nullstateassets.itch.io.
-
Mesh Origin Pivot Editor
A Godot 4 editor plugin that lets you reposition the origin (pivot point) of a MeshInstance3D by baking a new offset directly into the mesh vertex data.
-
GhostTrail
GhostTrail is a Godot 4 addon that enables you to record playthrough ghosts and visualize them in the editor as a trail. Scene changes will also be recorded and displayed.
-
Terrain splitter
A lightweight Godot 4 editor add-on that takes a single, massive MeshInstance3D and seamlessly slices it into a grid of smaller, optimized chunks directly within the editor. How to use: Select any MeshInstance3D node in your scene tree. Look at the top of your 3D Viewport (next to the Translate/Rotate/Scale tools) and click the new Split Terrain button. A menu will pop up. Enter the number of chunks you want for the X and Z axes. Check Make static bodies if you want collision shapes generated for the chunks (highly recommended for walkable terrain). Click OK. The addon will calculate the bounds, slice the triangles, re-index the vertices to save memory, and spawn the new chunks as children of your original mesh.
-
Simple Save Tool
An addon (plugin) for Godot 4.x that implements a Global Singleton (autoload) named SAVE_MANAGER to simplify persistent data storage using Resources (.tres).
-
Aide-De-Cam
Supplies camera capability info - supported concurrent use, sensor resolution, ISO, focal length, etc - for Android (Camera2) device cameras, into GDscript. Provides a handy json string and user:// file upon request; plus optional export to Documents.
-
Trauma - 2D Camera Shake Plugin for Godot
Trauma-based camera shake for Camera2D. Usage: 1. Add a CameraShake node as a child of your Camera2D. 2. Call shake(profile) with any ShakeProfile resource. 3. Or call add_trauma(0..1) for cumulative effects (e.g. per bullet hit).
-
AI Context Exporter
Introduction AI Context Exporter is a lightweight editor plugin specifically designed for Godot 4.6 developers. It scans and packages project scene structures (.tscn), scripts (.gd), and shader codes (.glsl, .gdshader) into a single, well-structured Markdown document with one click.Document management system This tool is built to provide Large Language Models (LLMs) like Cursor, Claude, ChatGPT, or Gemini with the most comprehensive project context. It helps AI accurately understand your node hierarchies, shader logic, and resource bindings, resulting in highly functional code suggestions. Key Features One-Click Full Export: Automatically recursively scans the res:// directory. Smart Formatting: Adds Markdown syntax highlighting tags based on file extensions (GDScript, GLSL, TOML). Shader Ready: Full support for Compute Shaders (.glsl) and Godot Shaders (.gdshader). Smart Exclusion: Automatically skips non-essential folders like .godot, addons, and .git. Auto-Refresh: Triggers Godot's filesystem scan immediately after generation. Installation Download this project and move the addons/ai_context_exporter folder into your project's res://addons/ directory. Go to Project -> Project Settings -> Plugins in the Godot editor. Check the "Enable" box next to AI Context Exporter. Navigate to Project -> Tools -> Export AI Context in the top menu bar.
-
Foley AI Sound Effect Generation
Generate and import Foley AI sound effects directly inside the Godot editor. Features: - Docked generator panel for full Foley generation workflows - Quick Generate dialog from the FileSystem context menu - Variation generation from previously generated clips - Prompt presets, recent prompts, and batch prompt queues - Token/account lookup and retry handling for transient API failures - Import pipeline with deterministic naming and metadata sidecars - Preview, reveal, and copy-path actions for imported clips Requirements: - Godot 4.6 - A Foley AI API key Notes: - Make sure to create an API key at www.foley-ai.com under "settings" and paste it into the project settings for the plugin. - Output defaults to res://audio/foley_ai - Metadata is stored as hidden .foley.json sidecars beside each generated clip - This is an editor-only addon
-
Genesis Engine: AI Game creator
This tool helps you turn your ideas into game designs and execute them without knowing anything about game design or development. Currently only supports 2d.
-
SaveState
Atomic save system for Godot 4. Saves go .tmp then commit so power cuts and crashes never corrupt your files. Rolling .bak backups on every commit. Schema migration so adding new variables to your game never breaks old saves. Saveable node groups let you mark nodes for saving without writing serialization code by hand. Simple stable API: SaveManager.save_slot(0). Free and MIT licensed. Pro version with async saves, AES encryption, thumbnail capture, and a live editor dock available at https://chuumberry.itch.io/savestate-pro
-
PinchPanCamera
Godot Plugin for a touchscreen optimized camera control system for common 2D top-down strategy games. (Works also with mouse when "Emulate Touch with Mouse" is enabled)
-
Kenney Particle Pack
Kenney's particle pack, pre-packaged for use in Godot. This package includes 80 sprites for particles, light cookies and shaders. Support the original artist to create more free game assets: http://donate.kenney.nl/ 3.2 version of this asset: https://godotengine.org/asset-library/asset/783
-
Kenney UI Audio
Kenney's UI audio pack, pre-packaged for use in Godot. 50 user interface sound effects including buttons, switches and generic clicks. Sounds were converted from Ogg Vorbis to WAV for lower CPU usage and better compatibility with Godot, at the cost of slightly larger file size. This is a lossless conversion which keeps the original sound quality. Support the original artist to create more free game assets: http://donate.kenney.nl/ 3.2 version of this asset: https://godotengine.org/asset-library/asset/795
-
uuid
The uuid class is a GDScript 'static' class that provides a unique identifier generation for Godot Engine.
-
gd-YAFSM(Finite State Machine)
Designer-friendly Finite State Machine implemented in "Godotic" way This version is only compatible with Godot 4.x, check out godot3(https://github.com/imjp94/gd-YAFSM/tree/godot3) branch for older version - Design StateMachine in a flowchart-like editor - Visualize flow of StateMachine & inspect parameters in realtime - Visualize game/UI state from flowchart - Similar workflow as using AnimationTree, and not required to inherit any custom class, just plug and play - Nested Finite State Machine workflow supported to create complex state machine with ease - As a Resource, StateMachine can be used repeatedly in different scenarios(StateMachinePlayer) and provide different outcome based on the input. - Compact data structure for StateMachine resource file v0.6.2: Fixes StateMachineEditor is_instance_valid check on reconnection Fix StateDirectory.get_current_end() doesn't work as expected Fix FlowChartGrid draw_multiline_colors error Fix StateDirectory.get_current_end() and StateMachinePlayer.path_end_dir( Remove some super._init() for godot 4.1.3 v0.6.1: Fix _on_update params error, flowchart grid and popup menus v0.6.0: Port to Godot 4.0 v0.5.2: Support sorting transitions. Fix "entered" signal is not emitted and trigger is flushed when StateMachinePlayer started. v0.5.1: Fix condition label in graph not removed as deleted from inspector. Fix output flooded with null exception, when stopping scene in remote debug and when switching between local/remote StateMachinePlayer node. v0.5.0: Support remote debug, simply select any StateMachinePlayer node in remote scene tree to view flow of StateMachine in realtime. Fix StateMachinePlayer's nested triggers are not flushed and some UI bugs. v0.4.1: Fix possible to connect to self when reconnecting, validate StateMachine Resource everytime loaded in editor, and minor improve on UI. v0.4.0: gd-YAFSM now support nested FSM workflow in 0.4.0 & fixed various annoying UI bugs Check out CHANGELOG(https://github.com/imjp94/gd-YAFSM/blob/master/CHANGELOG.md) for more details *Always backup project files before update