Recent snippets Explore
Monitor Layout UI
Casual Garage Coder
Users can have multiple monitors. Here is a custom UI node to display their layout.
Screenshot without freezing (more complex solution)
darkcanopy
An even more complex screenshot function that avoids the pipeline stall of get_texture.get_image()
Taking a screenshot without freezing (simpler)
darkcanopy
A screenshot function done on a separate thread so your game can save screenshots without lag
Small Terrain Generator
Casual Garage Coder
A script to generate terrain data, a shader to render it.
Easy Signal Disconnects
Dragon1Freak
Util function to disconnect all callables on a signal, or safely disconnect a callable from a signal
Twin Sticks Third Person Controller and Camera
Casual Garage Coder
Short (but versatile) script to control player movement and orbiting camera
Stick Visualizer
Casual Garage Coder
A control node that displays a stick status/values
TileData color batch edit
jil-hue
Tool for quickly replacing colors in a monochrome TileSet
In-editor tool Texture2D into colors palette
jil-hue
Use this in editor to get a dictionary with all colors in a Texture2D and their amount.
Capturing a Physical Input Event
Casual Garage Coder
This helper script capture an input event and translate it as a resource describing the said event.
Recent shaders Explore
spatial
Texture-based rim lighting
darkcanopy
Rim lighting that has a texture for an object but also rim lighting to 'highlight' it.
Cubic Bezier Curve Mesh Deformation
Casual Garage Coder
Specialized shader that deforms a mesh based on a cubic Bézier curve.
Color by Instance
Casual Garage Coder
Simple colorization by instance identifier
Greyscale Shader WITH modulate
Saltlight Studio
This is a somewhat simple shader for greyscaling sprites, except with modulate and self-modulate still working
spatial
Procedural Slash
Ali
A shader effect for procedurally creating sword slashes and the like.
spatial
3D Anime flame
Casual Garage Coder
A shader that creates a magical anime fire effect
Canvas item
Palette swap
Pixel
A shader that swaps colors
Canvas item
Simple quantization
Pixel
Reduces the range of possible colours a pixel can take
Recent articles Explore
Smoothing with expDecay instead of lerp()
darkcanopy
Many developers use lerp() in a way that is not frame rate independent. Learn how to use expDecay as an alternative.
Basic state machine
PapaPandaGames
This article shows you how to implement a basic state machine in GDScript.
A glance at Compute Shaders
Casual Garage Coder
Compute shader is a great way to use all the advantage of GPU, but one need to harness that power.
Stochastic L-System Resource
Casual Garage Coder
Procedural generation could make a good use of L-System. Let's dive into it.
Publish your game on Linux with Flathub
Casual Garage Coder
Flathub is a great publication platform for Linux applications. Here is an introduction to how you can publish your game using Flathub.
Set a project-wide custom theme
Bee
Save yourself the trouble of having dozens of manually specified themes and LabelSettings resources scattered across your project.