This script provides a Dependency Injection (DI) system for the Godot Engine. It facilitates object creation, dependency management, and binding using various modes (singleton, instance, value, etc.). With this script, you can manage your dependencies more efficiently, especially for large-scale Godot projects.---## Features- **Dependency Injection**: Inject dependencies into nodes dynamically or throughout the scene tree.- **Binding System**: Bind classes, interfaces, variables, and scenes to be used as dependencies.- **Flexible Binding Modes**: - `INSTANCE`: Creates a new instance every time. - `SINGLETON`: A single shared instance for the class. - `SCENE_INSTANCE`: Creates an instance of a scene. - `SCENE_SINGLETON`: A single shared instance of a scene. - `VALUE`: Directly binds a value. - `ALL_MAPPED`: Retrieves all mapped dependencies for an interface.- **Scene Parent Management**: Automatically assigns default parent nodes for created scenes when no parent is specified.- **Recursive Tree Injection**: Injects dependencies recursively into the scene tree.- **Interface Mapping**: Supports mapping dependencies to enums for fine-grained control.
Godot State Charts is an extension for Godot Engine 4 or later that allows you to use state charts in your game. State Charts are similar to finite state machines, but they are more powerful and avoid the state explosion problem of traditional FSMs. To get started, check out the manual at: https://github.com/derkork/godot-statecharts/blob/main/manual/manual.md
This tool allows you to simulate input on your XRControllers and XRCamera, without having to use a VR headset.First, insert XRSimulator.tscn into Autoload.Move your mouse to control the XRCamera, and scroll to control its height.Press WASD to controll the left controller's joystick, and the arrow keys to control the right controller's joystick.Press Q or E to select the left controller or the right controller, respectively.With a controller selected, you can:- move your mouse to control its position- scroll to move closer or further away from the camera- hold shift and move your mouse to rotate- hold shift and roll mouse scroll to rotate controller around z-axis- press Left Click to press Trigger (trigger_click and trigger)- press Right Click to press Grip (grip_click and grip)- On the alphanumeric keyboard, press 1 to 8, -, = and Enter to press or touch buttonsMapping:1 presses by_button2 presses ax_button3 presses by_touch4 presses ax_touch5 presses trigger_touch6 presses grip_touch7 presses secondary_click8 presses secondary_touch- presses primary_click= presses primary_touchEnter presses menu_button
Adds extra snapping functionalities for Node3D objects. Allows Node3D objects to snap to physics bodies or CSG objects with collision.- Select a Node3D object that you want to move,- While pressing Ctrl / Cmd + W, move your cursor along a surface to snap the selected object to the surface,- Release Ctrl / Cmd + W to confirm.
Provides a ConsoleListener-Node that allows you to listen to the output of StdOut and StdErr.Additionally provides static helper methods to force-show a console window on Windows
This simple tool will automatically open .gd and .cs files in the editor when they are created by right-clicking in the filesystem browser and selecting create new -> script. Currently creating the file and opening it in the editor are two separate actions.Please upvote the proposal here if you think this should be default Godot behavior:https://github.com/godotengine/godot-proposals/discussions/11428Then I can remove this silly addon.
GD Data Binding is a Godot library that simplifies your UI coding by automatically syncing data between views and models.
Get your multiplayer game up and running quickly with our easy-to-integrate plugin.Key Features:- Interactive Lobbies & Matchmaking: Enable players to easily find and join each other from across the globe.- Account System: Allow players to easily create accounts. Comes with built-in email verification and a moderation system.- Persistent Data Storage: Create databases to store and retrieve data from the cloud.- Global Servers: Deliver high uptime and seamless gameplay through our extensive global server infrastructure.- In-Depth Analytics: Gain valuable insights with detailed tracking of player statistics.- Godot Asset Library Integration: Set up GD-Sync with minimal hassle, right from within the engine.More information can be found on https://www.gd-sync.com.
Provides a global DarkMode singleton node which generates a signal when dark mode is turned on or off. Dark mode is checked every 1 second by default.Connect to the signal as follows:DarkMode.dark_mode_changed.connect(func(is_dark_mode): print("Is dark mode: ", is_dark_mode))Provides an alternative to DisplayServer.is_dark_mode() with:DarkMode.is_dark_mode()Polling can be updated either via inspecting the global DarkMode node or:DarkMode.polling_interval = 2.0 # check every 2 seconds
A simple fence plugin for Godot Engine 4.x. Makes building fences easy, and dynamic.
This is a visual shader addon that adds the UVManipulation node to the visual shader editor.
This is a visual shader addon that adds the HeightBlend node to the visual shader editor.