Plugins

  • LaIK
    4.2
    v0.0.2-alpha2D Tools

    Inverse Kinematic addon for Godot (experimental).

    By: thiagola92
  • 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
  • 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
  • MMI Tool
    3.3
    v1.03D Tools

    A node that replaces its children with a MultiMeshInstance

    By: dankidol
  • 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
  • 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
  • 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
  • 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
  • 3D Targeting System
    3.2
    v1.0.0Demos

    In this demo you can find 5 types of targeting system (including camera targeting). 1. Direct: Like look_at() but uses positive z-axis 2. Smooth-Follow: Non linear, Follows the target, no lock on 3. Smooth-Lock: Non linear, locks on at end, not good for mecha feel 4. Constant-Static: Linear, simpler code, for static target/player, good for static mechanical stuff 5. Constant-Moving: Linear, more complex code, works with moving target/player, good for moving mecha

    By: JohnnyRouddro
  • Toasts
    3.2
    v0.2Misc

    A plugin that allows you to make Android like toast on all platforms

    By: ra45
  • 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
  • Game Windows Work Together (With YT Video)
    4.0
    v1.0.0Demos

    This demo shows a project with multiple game windows. The second window is able to influence the other and is see through. Showcase video here and linked below: https://youtu.be/D6YF-9ph2T4 See all my assets here: https://godotengine.org/asset-library/asset?user=ThinkWithGames

    By: ThinkWithGames
  • Vertex Color Import Swapper
    4.2
    v1.2Tools

    Allows importing to automatically move vertex color data from a different file attribute into the primary vertex color attribute. Useful primarily to get around the recent Blender 4.1 change that no longer exports vertex color properly. Can grab the color from other named attributes, including UV channels, normals, etc... Visit the repository for a full explanation of capabilities.

    By: Invertex