A lightweight, open-source Godot 4.x backend plugin for player authentication and global leaderboards. Created as a direct drop-in replacement for the abandoned SilentWolf service.Setup:1. Enable the plugin in Project Settings -> Plugins.2. Add the main plugin script to your Autoload (Singleton) to access the API globally from any node.Features:- Secure player registration and login (Auth)- Global Leaderboards / High scores system- Built with FastAPI & PostgreSQL (fully self-hostable or use https://gwynbleidd.pl)
Plugin designed to be generic and usable for any kind of game.The system is called Thoth from the Egyptian deity that was the holder of knowledge and patron of scribes, so Thoth is in charge of saving your game.If you want to support me : https://www.stupidrat.com/senselessIf you wish to pledge to help me I also have a Patreon page.https://www.patreon.com/c64cosminDocumentation : https://stupidratstudio.github.io/thoth/Contact & Support : https://discord.gg/FX5NaQHcjS
# Stairs CharacterA simple to use class that enables your CharacterBody3D to handle stairs properly.Mainly tested with the Jolt physics engine and cylinder colliders, not guaranteed to work well with anything else - but try it!## Usage instructions:1. Make your character controller extend `StairsCharacter` instead of `CharacterBody3D`.2. Ensure your character's collider is named 'Collider'.3. Every frame, set `DesiredVelocity` to the desired direction of movement.4. Call `MoveAndStairStep()` instead of calling `MoveAndSlide()`.5. Done!### Important:Ensure your character collider's margin value is set low - at most 0.01. Anything higher might cause snags. If you find that you're still snagging on ledges, lower it some more.
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 = 100attack = 5You 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.
Tookit to handle removing diacritics and substitutable characters from unicode strings.Provides a UnicodeNormalizer singleton that helps normalize your unicode strings by :- removing diacritics (decomposing, then keeping only the first character)- substituting fallback characters- being blazingly fast (binary search)- being lightweight- being extensibleIts replacement database is built from the official unicode.org data. It is only about 16Kio.Usage Example :You can use the `normalize` method on the autoload singleton `UnicodeNormalizer`:UnicodeNormalizer.normalize("Dès Noël, où un zéphyr haï me vêt")# "Des Noel, ou un zephyr hai me vet"You can also exclude some characters from the normalization by removing the from the mapping :var allowed_decomposables := "éàè"for i in allowed_decomposables.length():UnicodeNormalizer.mapping.remove_decomposable(allowed_decomposables.unicode_at(i))Finally, the UnicodeNormalizer is made to be extended, in order to adapt to specific needs.
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 projectAdd 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
A Godot 4 port of Dicebag by 8bitskull, originally in Lua for Defold.It contains various random dice and RNG functions that are useful for anyone making RPG's and especially those that emulate tabletop RPGs.Converted to Godot 3.2 by yagichConverted again to Godot 4.0 by cablefish1 who removed some functions and rewrote some.Join the RPGodot discord to join the development of more universal RPG tools.
Dynamic Physical 3D rope that interacts with RigidBody3D.License at: https://github.com/Skyquakers/godot-rope3d/blob/develop/addons/rope3d/LICENSE.txt
MQTT client for C#
3D Gallery is a Godot 4+ plugin that makes viewing imported 3D models easier. Rather than clicking on each model to view it in the import popup, or adding it to a scene, 3D Gallery allows you to quickly scan through your filesystem previewing each model. This comes in handy when you have a large number of models and want to flip through them quickly (ex. after purchasing an asset library).3D will walk your project directory, looking for any Godot-supported 3D model formats: * .blend * .obj * .glb * .gltf * .fbx * .daeIt builds a file tree from there, allowing easy mouse or keyboard-based navigation to easily preview each model.Controls:* Arrow keys to navigate the gallery tree* Left mouse click + drag to rotate the camera* Right mouse click + drag to rotate the model on Y-axis* Right mouse click + shift + drag to rotate the model on Z-axis
Godot's High-level Multiplayer API can operate over WebRTC, however, it requires a signaling server to establish the WebRTC connections between all peers.Nakama is an Open Source, scalable gameserver that provides many features, including user accounts, authentication, matchmaking, chat, and much more.This Godot add-on provides some utility code to allow easily setting up those WebRTC connections using Nakama as the signaling server.
A GDScript thread pool to asynchronously execute tasks.
The official open-source Godot client for Nakama server written in GDScript.Nakama is an open-source server designed to power modern games and apps. Features include user accounts, chat, social, matchmaker, realtime multiplayer, and much more.This client implements the full API and socket options with the server. It's written in GDScript to support Godot Engine 4.0+.Full documentation is online - https://heroiclabs.com/docs
Simple drop-in node for Google Oauth2.You get your desktop app credentials from Google, plug them in to a dictionary, and create a node. Now you can get verified user emails and names for logins, high scores, saves, etc!
The InputFilter makes it easy to distinguish inputs from different controllers and even multiple control schemes on the same controller.
A script that allow you to slice concave meshes. Based on godot CSG system.Go to the github page to view usage instructions.
Add sound to any Button.Non-invasive design, configured through the inspector, does not require scripting, and supports any node inherited from BaseButton.
Godot-Stuff Logger 3.3A GDScript based logging utility, it provides a very low level way to debug your Games. There are different Appenders and Layouts available that let you control how the logger output is delivered.This latest release is now installed like a proper plugin. Activate the Logger by going into your Project settings and activating it.Note: Cyclical errors have been correct and a restart of Godot should no longer be required when adding this asset.Features* low overhead* simple to include in your projects* eight different logging levels* output to console or filesystem* html output available (experimental)This version supports the Godot Version 3.3 releases.For more information follow this linkhttps://gitlab.com/godot-stuff/gs-logger/-/blob/3.3/README.md
# GODOT MORTON CODEProvide Morton code implementations in 2D and 3D.## Features- Encoding/Decoding implemented with Magic bits.- x, y, z setters.- Add/Subtract x/y/z.- Increment/Decrement x/y/z.- Comparisons: Less, less-equal, greater, greater-equal.
A lightweight dependency injection framework developed by Grove Games for .NET and Godot
Plugin that helps clean up 3D animations by removing tracks referencing bones that no longer exist in the target Skeleton3D node. When you select an AnimationPlayer, a dropdown menu and a button appear in the inspector. Choose an animation and click "Clean Unused Animation Tracks" to automatically delete any bone tracks that point to missing bones.
Prints screen debug messages, with color, duration and tag.Tags prevents repetitions. Or you can just clear a message with a tag.Visit github for more info. Click View Files.Simply you can use Screen.print("Your Text") to print to your screen.
Export CSG Meshes with 1 click How to use :- Combine all your CSGMeshes under a CSGCombiner node then press (Export to OBJ) in the Spatial Container Menu.Limitations :- Only works when you select 1 CSGCombiner node (Cant multiselect)- Only material diffuse and emission colors will be exported (Textures and maps wont be exported, but you can add them manually in your 3D editing software) - The plugin is still experimental ,so please report for bugs at: [email protected]=== New Version 0.3.2===*Bug fixes by (@szabotudor):--Object variable is cleared before being reused (to avoid stacking old meshes over new ones)*Bug fixes by (@mohammedzero43):--Fixed an issue with exporting .mtl and .obj with unmatched names=== New Version 0.3.0 ===*Usability improvements by (@Janders1800) :-- Added a FileDialog so the user can select where to save the exported obj file=== New Version 0.2.0 ===*Bug fixes by (@Henriquelalves) :-- Empty materials will now have a default material applied-- script fixes in writing object name
Drop-in leaderboard SDK for Godot 4. Connect to LightLeaderboard to submit scores, retrieve global rankings, and display player profiles with just a few lines of GDScript. Supports periods (daily/weekly/all-time), seasons, teams, and optional anti-cheat score signing.