
This is a sample project demonstrating the Meta-specific composition layer features supported by the Godot OpenXR Vendors plugin. See the Meta Composition Layers tutorial doc for a detailed walkthrough on these features.
This is a sample project demonstrating the Meta-specific composition layer features supported by the Godot OpenXR Vendors plugin. See the Meta Composition Layers tutorial doc for a detailed walkthrough on these features.
Importer and interpreter for Clyde Dialogue Language. Completely written in GDScript. No external dependencies. Clyde is a language for writing branching dialogues/dialogs. Check the docs for more info.
Importer and interpreter for Clyde Dialogue Language. Completely written in GDScript. No external dependencies. Clyde is a language for writing branching dialogues/dialogs. Check the docs for more info.
Takes Quake BSP files and creates a Godot scene with meshes and collision. Import properties allow for specifying mapping for textures to materials, entities to scenes, etc. Make sure you click on preset and "Set as Default" once you have things configured!
Yet another inventory system, made primarily for Action RPGs. Now for Godot 4! Setup: - Drag stuff from addons/wyvernbox_prefabs into your scene. Should just work. - Enabling the plugin optional, but highly recommended. - If enabled, access the Documentation as you would in Godot - via the F1 key, then search. - Items are defined through ItemType resources. - For loot tables, make ItemInstantiators (each item, chance optional) and/or ItemGenerators (one from list, can be generated by script). For "or" logic or script-driven checks, make ItemPatterns. Supports: - 4 inventory types, including those for multi-slot items, equipment, and theoretically-infinite (or count-limited) currencies - all types are compatible with GUI containers - 2D and 3D ground items - gestures: quick-transfer (Shift-Click), gather/transfer all items of type (Double-Click), split one/half (Right-Click) - crafting with substitutes and random outcomes, merchants with randomized and limitable wares - localizable equipment affixes (for your Incredible Club of Casual Murder) - item search/filters, autosave - custom inspector tables to map items to values in YOUR classes (like in ShopManager, ItemGenerator, ItemPattern objects). Include an Item Browser popup to easily drag-drop item types, generators and patterns from the project. - hook up the GrabbedItemStack node's signals to a node to make input events do custom actions with grabbed items. Try the example: - Copy the example/ and addons/ folders into you project. DON'T unpack the entire repo zip, just these two. - Enabling the plugin optional, but highly recommended. - Launch test_2d.tscn
Create tile-based 3D levels for dungeon crawler -style games. See GitHub repository for more information: https://github.com/ReunMedia/godot-levelblock
Create tile-based 3D levels for dungeon crawler -style games. See GitHub repository for more information: https://github.com/ReunMedia/godot-levelblock
Advanced loader for text data files (JSON, CFG). It can load your files and perform a complex data validation. If you like keeping your data in text files, this will be useful as it ensures that your data is correct, i.e. without typos. Data collections in TextDatabase are arrays of dictionaries. You can e.g. store items, enemy data, or level metadata etc. in a JSON or CFG files, where each item/enemy/level/etc is a Dictionary with some properties. You can define fields for your data, which can be either mandatory, or just allowed, and the loader will ensure that your fields are correct. Example usage: var database = TextDatabase.new() database.add_mandatory_property("price") database.add_valid_property("attack") database.load_from_path("res://items.json) var data = database.get_array() Example valid file: [ { "name": "Sword", "price": 100, "attack": 5 } ] Example invalid file: [ { "name": "Shield", "defense": 1 } ] It's missing "price" and "defense" is not a defined property, so the file won't load. You can catch errors like this, so you can avoid unexpected behaviors due to data typos. btw, ConfigFiles (CFG) are much better than JSON. Here's the Sword example as CFG: [Sword] price = 100 attack = 5 You can store multiple items in one file and load multiple files into database. Just use load() multiple times on one database and then get_array() will return data from all files. Or you can use get_dictionary() instead and access the entries by name. Explaining all functionality would be very long, so just read the README, which you can find in the asset's repository (: You can also find an example project in there.
Note: To use this plugin, simply download it. You don't have to enable it in the plugins menu The aim of this project is to integrate Python scripting into the Godot Engine, allowing developers to write scripts in Python instead of, or alongside, GDScript. This plugin enables the selection of Python as the scripting language when creating new scripts within Godot, providing an alternative for developers who are more comfortable with Python. Platform Compatibility: Please note that this plugin is currently only compatible with Windows 64-bit, Linux 64-bit and MacOS ARM64 systems. Ensure that you are working on one of these platforms to take full advantage of the Python scripting capabilities. Similarity to GDScript: The Python API is designed to be similar to GDScript, making it easier for developers familiar with GDScript to transition to or integrate Python into their projects. Getting Started: To start using Python in Godot: Install the Plugin: Download the plugin and install it in the addons folder Create Python Scripts: When creating a new script, select Python as the language. Refer to the Documentation: Look at the Github page for a short example of the api
A project designed at offering high performance, low complexity, ray marched clouds which can be flown through and can occlude world geometry, acting as essentially real time volumetric fog when inside of them.
A GDExtension plugin to add DragonBones for Godot. The last version of v1.x.x. The Godot-DragonBones v2 will coming soon.
A custom node that extends RichTextLabel to use Markdown instead of BBCode. # Usage: Simply add a MarkdownLabel node to the scene and write its ``markdown_text`` field in Markdown format. In the RichTextLabel properties: - ``bbcode_enabled`` property must be enabled. - Do not touch the ``text`` property, since it's internally used by MarkdownLabel to properly format its text. - You can use the rest of its properties as normal. You can still use BBCode tags that don't have a Markdown equivalent, such as ``[color=green]underlined text[/color]``, allowing you to have the full functionality of RichTextLabel with the simplicity and readibility of Markdown. For more detailed info, check out the README file in the Github repository.
A GDExtension plugin to add DragonBones for Godot.
ThemeGen — Possibly the best theming solution for Godot to date, setting a new standard to keep you sane while developing themes for complex user interfaces. ThemeGen is a tool for Godot that allows you to easily create themes using GDScript code. The advantage over the UI theme editor is that you can reuse styles, recombine them, and effortlessly reuse and share colours between components. It can also help you to use semantic colours, and to create multiple theme variations, e.g. a dark theme and a light theme. Thanks to the live preview feature, the theme is automatically regenerated whenever the input script is modified, and the changes are immediately reflected in the editor’s preview. This allows for a seamless and real-time development experience. For usage instructions, please see the README: https://github.com/Inspiaaa/ThemeGen
Extension for the Tween system. It adds: TweenNode - a Node wrapper for Tween. It allows for configuring the Tween from the inspector and provides a reusable Tween object. You can either use it with TweenAnimation or via code, by implementing the virtual initialize_animation(tween) method. If TweenAnimation is used, you need to set a root node, similar to AnimationPlayer root. TweenAnimation - a Resource that defines an animation for a Tween. You can use it with a regular Tween by calling apply_to_tween(tween, root) or by assigning it to TweenNode. The root is the base Node for animation paths. TweenAnimation editor - a complete editor for creating TweenAnimation resources. You can add animation steps and add Tweeners to steps to create animation. The editor supports simple animation playback to preview what you are editing. TweenNode and TweenAnimation come with a documentation. For more information and images see the GitHub repo.
A plugin for Godot 4 to extend the Inspector using just comments above properties. Nodes, Resources, and even non-tool scripts supported! Supports these, and more (check README.md for full list): # @@message(message_getter) - call message_getter() to get a message. If empty string, hides the message. Has a message_warning and message_error variants. # @@button_group(params) - assembles buttons. List comma-separated params, which can be strings "", colors #, or expressions. Each Expression must have a string Label preceding it, color optional. # @@dict_table(params) and # @@resource_table(properties) - displays array of Resources or Dictionaries as a table. for dicts, params must be of format `key : type`. # @@multi_array_table(property_names) - shows several typed array properties as a table, one array one column. # @@show_if(expression) - hides property if expression is false. For more, check out README.md. More extensions coming soon!
Adds a Destruction node which allows replacing objects with a shattered version.
Anime girls motivate you every 15-30 minutes. Features: - Girls holding programming books - Nice girls to compliment you - Chill girls to greet you - Mean girls to insult you - Collect girls in the catalog
3D Inverse Kinematics (IK) for Godot 4.3+! Supports scriptable constraints and multiple chains.
Provides nodes for aerodynamic simulation. To get started, add an `AeroBody3D` node to your scene, and add as many `AeroInfluencer3D` nodes as necessary. For Godot Asset Library installs: Ensure that addon files are installed inside res://addons/godot_aerodynamic_physics This folder structure allows for this plugin to be used as a git submodule, because of this, Godot does not automatically install it to the correct path.
imposter plugin for godot 4.x Help you create an imposter scene
A base structure for 2D games using Godot 4. It includes everything needed to create a polished 2D game, from movement scripts to screen postprocessing shaders, while leveraging the new features of Godot 4 and using a clean, scalable and extensible code architecture.
GECS - Godot Entity Component System A lightweight and performant ECS framework that integrates seamlessly with Godot 4.x, built to leverage Godot’s node system. It supports: - Full integration with Godot’s node system - Query-based filtering of entities with optimized component indexing - System groups for organized processing - Component resources that work in the editor - Straightforward setup with automatic node management - Clear examples (Zombies Ate My Neighbors, a 2D Breakout clone) OVERVIEW GECS follows the Entity Component System (ECS) pattern: - Entity: A container (a node extending Entity) representing an object. - Component: A data container resource (extends Component) with properties but no logic. - System: A node (extends System) that defines a query for relevant entities and the logic to run on them. - World: A central node (extends World) that manages entities and systems. FEATURES - Components: Simple resources, easy to edit in the Godot inspector. - Entities: Node scenes that extend Entity and automatically synchronize component data. - Systems: Nodes that define queries (for example using with\_all, with\_any) and process matching entities. - System Groups: Specify a group name such as "physics" or "gameplay" to organize and process systems at different times. - ECS Singleton: Global access to your current World, allowing you to call ECS.process(delta, group). - Relationship Support: Use relationships as specialized resources to link entities. - Advanced Queries: Use with\_relationship, with\_reverse\_relationship, and various conditions to refine your entity matching. WHY USE GECS - Improved code organization and maintainability - Clean separation of data (components) and logic (systems) - Intuitive queries for selecting and managing entities - Works naturally with Godot’s scene and node structure GETTING STARTED 1. Place the GECS addon in your project’s addons folder. 2. Enable the plugin in Project Settings > Plugins. 3. Ensure ECS.gd is autoloaded (done automatically when enabling the plugin). 4. Create your own entities, components, and systems. 5. Place a World node, attach your systems and entities, then call ECS.process(delta, group) as needed. SIMPLE STEPS - Create Components, for example Velocity or Bounce, each with exported properties. - Create Entities, adding the desired components in the inspector. - Create Systems, define queries such as with\_all, and implement the logic. - Add Systems to your World node, optionally setting a group. - Process them via ECS.process(delta, "group\_name"). USE CASES - 2D and 3D games needing modular and scalable code - Clean separation of concerns in larger projects - Editor-based design of components without heavy scripting - Simplified debugging of component data SPECIAL FEATURES - Relationship-based queries for advanced linking of entities - System groups for controlling update order - Resource-based components that can be instanced or shared - Editor support for exporting component properties CONCLUSION GECS streamlines development with a concise Entity Component System approach that fits naturally into Godot’s node structure. Build maintainable, modular games with flexible queries, reusable data containers, and powerful system organization.