Sort
  • Dicebag
    4.0
    v1.0Scripts

    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 yagich Converted 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.

    By: Cablefish
  • Control3D
    4.1
    v1.0.13D Tools

    This plugin allows using SubViewports to display 2D interfaces in 3D.

    By: MASSHUU
  • Developer Console for Godot .NET 4
    4.0
    v1.0.0Tools

    Add a developer console to your game. Requires Godot 4.0+ .NET. This system gives you the ability to do a lot of things already and is very easy to extend. Check out the YouTube video for a feature overview and instructions for adding your own console commands.

    By: hamsterbyte
  • DwarfImpulse - A Camera Shake Plugin for C#
    4.2
    v1.0.0Scripts

    An easy to use camera shake plugin for Godot. Features: - Easy to use API - Predefined shake algorithms - Easily extensible - Supports both 2D and 3D

    By: DwarfSoftworks
  • PointCloud
    4.1
    v1.23D Tools

    This tool creates CPUParticles3D point clouds from mesh resources. Volumetric video is possible using .xyz frames.

    By: jlsgangwisch
  • Squiggles Fur
    4.2
    v1.0Materials

    A shell fur tool for Godot 4 that provides a robust, no-code approach to stylish fur and fur-like materials. Supports all currently available 4.X versions

    By: QueenOfSquiggles
  • AmbientCG Material Downloader (Godot 4.3)
    4.0
    v0.0.3Materials

    AmbientCG Downloader Godot Plugin For Godot 4.x Downloads Files from AmbientCG.com and automatically populates StandardMaterial3D

    By: VenitStudios
  • Cutscener
    4.2
    v0.1.6Tools

    视觉化的,节点形式的事件树编辑器. 通过节点的形式制作包括:执行方法/设置变量/判断变量,三种节点的事件树.可视化的方式控制事件的运行顺序与分支. 可以在游戏Debug期间修改并在保存后实时生效,非常适合制作游戏过场,或者对话系统.支持合并节点运行. A visuallize event tree editor. Easily create a branching event tree in a visuallize way, base on 3 type nodes: SignalNode(run method) SetNode(set variable) ConditionNode(condition branching) No need to restart debuging while editing event tree, seeing result in realtime.Very suitable to create a cutscene or dialogue system. Support node combination.

    By: Hakace
  • GDScript Code Upgrader
    4.0
    v1.0.1Tools

    Code Upgrader is a tool designed to help upgrade your GDScript code from Godot 3 to Godot 4. This plugin automates the process of updating deprecated methods, properties, and syntax, ensuring your projects are compatible with the latest version of Godot.

    By: christinec.dev
  • Shaker
    4.0
    v1.0Tools

    Shakes any node's property. Makes for a great camera shaker.

    By: Lenny44
  • Godot XR Animation Recorder
    4.3
    v0.1.03D Tools

    XR Animation Recorder capable of creating Godot Animation resource files for avatars.

    By: Malcolm Nixon
  • LaIK
    4.2
    v0.0.2-alpha2D Tools

    Inverse Kinematic addon for Godot (experimental).

    By: thiagola92
  • GrassPath2D
    3.2
    v1.02D Tools

    Addon to generate interactive grass with Path2D (Curve), group of interactive objects, change the grass texture, blur, wind direction and force, height grass, random "leaf" rotation, colour array to random leaves, and several other parameters. *The addon is in continuous improvement, version 1.0 can be used with GLES2, GLES3 and Android (mobile)

    By: thiagobruno
  • PythonScript
    3.2
    v0.50.0Scripts

    /!\ This module requires to restart Godot once installed /!\ Introduction ------------ This is a beta version of the Python module for Godot. You are likely to encounter bugs and catastrophic crashes, if so please report them to https://github.com/touilleMan/godot-python/issues. Working features ---------------- Every Godot core features are expected to work fine: - builtins (e.g. Vector2) - Objects classes (e.g. Node) - signals - variable export - rpc synchronisation On top of that, mixing GDscript and Python code inside a project should work fine. Using Pip --------- On windows, pip must be installed first with `ensurepip`: ``` $ <pythonscript_dir>/windows-64/python.exe -m ensurepip # Only need to do that once $ <pythonscript_dir>/windows-64/python.exe -m pip install whatever ``` On linux/macOS, pip should be already present: ``` $ <pythonscript_dir>/x11-64/bin/python3 -m pip install whatever ``` Note you must use `python -m pip` to invoke pip (using the command `pip` directly will likely fail in a cryptic manner) Not so well features -------------------- Exporting the project hasn't been tested at all (however exporting for linux should be pretty simple and may work out of the box...). Have fun ;-) - touilleMan

    By: touilleMan
  • MMI Tool
    3.3
    v1.03D Tools

    A node that replaces its children with a MultiMeshInstance

    By: dankidol
  • Export Categories
    3.3
    v1.1Tools

    A very hacky way to separate script variables into categories. Copy the "export_categories" folder into your "addons" folder and enable it on Project > Project Settings > Plugins > ExportCategories. Just export a var with `_c_` as a prefix (ex: `_c_movement`) and it will be transformed into a "category". It's just a separation, really. But it helps :)

    By: mathewcst
  • Marching Cubes
    4.1
    v1.2Demos

    # Godot marching cubes This is a demo of multiplayer marching cubes game in godot. # Features - Procedural world generation with biomes - Blending different materials - Water - Day night cycle - Multiplayer - Voxel placing and removing # Testing - To run the project open it in godot and run it, two windows will open. - In one window you can enter singleplayer, the other is to test multiplayer. - Connect to the singleplayer world using port 5000. # Adding new voxels - Create a new class that extends Voxel under the "voxel" folder - Give it a unique ID and register it in "Main.cs" - If you're using textures add the uniforms in "terrain.gdshader" and assign the textures in node "Mesh" that is inside "chunk.tscn" - Add it into "terrain.gdshader" under `getVoxelColor` like so: ```glsl if (voxelId == {the id}) { hasNormal = true; normalTex = sampleTex({your normal texture}, {your wall normal texture}, {uv scale}, position, normal).xyz; return sampleTex({your texture}, {your wall texture}, {uv scale}, position, normal).xyz; } ``` # Adding new biome - Create a new class that extends Biome under the "world_generator/biome" folder - Optional: You can call base({your base height}, {your height variation}) - Implement the `GetVoxel` method - Add your biome to `GetBiome` in the "WorldGenerator" class # Adding new surface mesh - Save the geometry as a ".res" file under "voxel/surface_mesh" - Save the texture as ".png" in the same place - In "Main.cs" load your mesh and texture - Instantiate the surface mesh material (res://shaders/surface_mesh.tres) and assign your texture to the parameter "color" ```cs // Example Mesh grass = ResourceLoader.Load<ArrayMesh>("res://voxel/surface_mesh/grass.res"); ShaderMaterial grassMat = ResourceLoader.Load<ShaderMaterial>("res://shaders/surface_mesh.tres"); grassMat.SetShaderParameter("color", ResourceLoader.Load<Texture2D>("res://voxel/surface_mesh/grass.png")); SurfaceMesh.SurfaceMeshes.Add(GrassVoxel.ID, new SurfaceMesh(grass, grassMat)); ``` # Optimizing performance for older hardware You can play with the in-game settings, lower mesh count and render distance. Or: In "world/Chunk.cs" -> `Generate(bool selfOnly)` I smooth the geometry by subdividing, this is optional. Remove these lines: ```cs // Optional GeometrySmoothing.SubdivideGeometry(positions, indices); GeometrySmoothing.SmoothGeometry(positions, indices); GeometrySmoothing.SubdivideGeometry(tranPositions, tranIndices); GeometrySmoothing.SmoothGeometry(tranPositions, tranIndices); ```

    By: gdarielsl
  • GPUNoiseTexture(2D/3D)
    4.0
    v1.0.0Tools

    Seamlessly implement custom noise textures using compute shaders!

    By: 2Retr0
  • Game Console
    4.3
    v0.5.0Tools

    Addon to add a console to your game, this will allow you to run commands after opening the console. To add a command simply use Console.register_custom_command("reload", _reload, [], "Reload current scene") where reload is a function without parameters. If you want to parse parameter use Console.register_custom_command("count_up", _count_up, ["(int) amount to count up"], "Increase the counter", "Command will increase a local counter", ["count_up 1", "count_up 3"]) This adds a command with a single argument, a short and long description and some examples. You can also make arguments optional, to do so create them like that: var count_down_command = Command.new("count_down", _count_down, [CommandArgument.new(CommandArgument.Type.INT, "amount", "The amount to count down from the current counter", "1")], "Decrease the internal counter", "Command will decrease a local counter", ["count_down", "count_down 2", "count_down 5"]) Console.register_command(count_down_command) or use the "Console.register_custom_strong_command()" method, which uses the "CommandArgument" instead of the packedstring array for arguments. Always make sure that your optional parameters are at the end of your parameter list, otherwise the command registration will fail. To unregister it run, this should be done if a node does leave the scene tree. Console.remove_command("reload") Other interessting methods ## Change the console settings ## There are more options Console.update_console_settings(func(settings: ConsoleSettings): ## Set key to toggle console settings.open_console_key = KEY_F12 ## Pause game tree if console does open up settings.pause_game_if_console_opened = true ) ## Hide console Console.hide_console() ## Show console Console.show_console() ## Disable console completely, can be used to remove it on release builds Console.disable() ## Enable a disabled console Console.enable() # BREAKING_CHANGES: ## Version 0.4.0 -> 0.5.0 This version will add some breaking changes, if you create a command instance you cannot use the packedstring array anymore. Instead create a new "CommandArgument" providing the type as first parameter, the name as the second and if needed a description of the parameter as last. See the example project or readme for more details

    By: Xanatos
  • Tooltips Pro
    4.4
    v1.0.0Tools

    Advanced tooltip functionality for Godot 4.4+ FEATURES Tooltips Everywhere: Tooltips can be attached to any Control node, as well as 2D and 3D nodes. Customizable Layout: Set Alignment, Offset, and Overflow Mode to fully control how tooltips should be positioned, and adjust to overflowing the screen bounds. Origin Options: Anchor a tooltip to the node that triggered it, the mouse position, or any arbitrary position with a remote node. Nesting Tooltips: Put tooltips within tooltips, and trigger them through a fully featured locking system of the kind established in Crusader Kings III. Dynamic Content: Use String placeholders to insert variables into tooltips and see the text update while they're open. Template Appearances: Customize tooltip templates using the full power of Godot's UI system, for reuse or unique one-offs. Localization support, animations, and more!

    By: HewPlayfair
  • BDC - Ballistic Deflection Calculator
    4.0
    v2.0.0Scripts

    Ballistic deflection calculator is a tool for calculating the shot vector considering speeds and accelerations for Godot.

    By: neclor
  • MessageBox
    3.2
    v1.2.12D Tools

    Adds a new, feature-packed UI nodetype for displaying text with a typewriter effect. Features include: - Full bbcode support, including custom effects! - Change speed dynamically! - Play forwards or backwards! - Play random voice effects when a letter is typed! - Automatic scrolling for oversized text! - Built-in text skipping and acceleration! - Automatically plays when the message is changed! - Text Transition effects! Updated 9/29/2020: - Now 3.2.3 compatible - Some new features. (See github commit) - The github now has a wiki with some usage information Updated 11/3/2020: - Now supports fancy text transition effects! - A number of squashed bugs - Finally remembered to update the version number in the config file. Oops.

    By: tlitookilakin