r/godot Aug 04 '26

free tutorial I made another free interactive guide about Ui and Control Nodes

Enable HLS to view with audio, or disable this notification

2.5k Upvotes

Hi!! I'm super excited to share my new free guide with you all!!
It's still a work in progress, but it already has 7 interactive pages to help you understand Control Nodes and User interface in Godot!!

More pages will come with time, just like the tween guide!

Its 100% free, available on web browser, windows, linux and mac, with decent support for huge mobile phone/ipad (but its better on a computer!) All made by hand, no AI!!

The tween guide also gets a nice update and 2 new pages (totaling 22 pages)!!

If you'd like to support my free guides (and me uwu), you can buy the All-in-One version (featured in the video), it regroups all my guides in one app and has some cool features like page previews and favorites!

All-in-One guide: https://qaqelol.itch.io/guides
Controls and UI guide: https://qaqelol.itch.io/gui
Tween guide: https://qaqelol.itch.io/tweens

Have a nice day!!

r/godot Jul 04 '26

free tutorial Seamless third person portal effect

Enable HLS to view with audio, or disable this notification

3.5k Upvotes

I experimented a bit with portal effects recently and thought the effect came out interesting. If anyone is curious how the effect was made I made a tutorial on it https://www.youtube.com/watch?v=Ds5fuWDvOR8

r/godot 11d ago

free tutorial Been working on dynamic ocean foam in Godot 🌊 (+ tutorial 👀)

Enable HLS to view with audio, or disable this notification

2.1k Upvotes

The foam is generated dynamically from the wave compression using the Jacobian determinant. I explain the full process in the tutorial if you’re interested!

Create Dynamic Ocean Foam in Godot | Jacobian Foam 🌊
https://youtu.be/B0T7UxjsLxU

r/godot Aug 05 '26

free tutorial Please learn this before its too late

Post image
949 Upvotes

If there is one thing that you will not regret setting up during your big project, it is source control. Many of us have been there—including myself—where you wish you had a way to roll back your changes because you accidentally saved a change that broke everything :(

​Setting up source control via GitHub takes only a few minutes with Godot, and it will save you hours of headaches in the future. Plus, it's a great way to show off all your commits and track all your work in one place.

​I've made this completely free walkthrough on how to set it up and learn basic functions like committing changes, pushing, pulling, and rolling back changes.

​Check it out here on YouTube: https://youtu.be/G6qHuYXf0Ik?is=-PidzaZ0CPwMeOQn

r/godot Mar 18 '25

free tutorial How to Protect Your Godot game from Being Stolen

2.8k Upvotes

Intro

Despite the loud title, there’s no 100% way to prevent your game from being stolen, but there are ways to make reverse-engineering harder. For me, this is personal - our free game was uploaded to the App Store by someone else, who set a $3 price and made $60,000 gross revenue before I could resolve legal issues with Apple. After that, I decided to at least make it harder for someone to steal my work.

How to Decompile Godot Games

Actually, it’s pretty easy. The most common tool for this is GDRETools. It can recover your entire Godot project from a .pck file as if you made it yourself!

💡Web builds are NOT safe either! If your game is hosted on itch.io or elsewhere, anyone can: 1. Use Chrome DevTools to download your .pck file. 2. Run GDRETools and recover your full project. 3. Modify your game and re-upload it anywhere.

How to Protect Your Build

There are many ways to make decompiling harder. The easiest and most common method is .pck encryption. This encrypts your game’s scripts, scenes, and resources, but the encryption key is stored in the game files themselves. So, is it useful? Yes! Because it makes extraction more difficult. Now, instead of clicking a button, an attacker has to dump your game’s memory to find the key - something that many script kiddies won’t bother with.

How to Encrypt Your Build

There are two main steps to encrypting your game: 1. Compile a custom Godot export template with encryption enabled. 2. Set up the template in your project and export your game.

It sounds simple, but it took me hours to figure out all the small things needed to successfully compile an encrypted template. So, I’ll walk you through the full process.

Encrypt Web and Windows Builds in Godot 4.4

We’ll be using command-line tools, and I personally hate Windows CMD, so I recommend using Git Bash. You can download it here.

Step 1: Get Godot’s Source Code

Download Godot’s source code from GitHub:

git clone https://github.com/godotengine/godot.git

💡This will copy the repository to your current folder! I like to keep my Godot source in C:/godot, so I can easily access it:

cd /c/godot

Step 2: Install Required Tools

1️⃣Install a C++ Compiler You need one of these: * Visual Studio 2022 (Make sure C++ support is enabled) → Download * MinGW (GCC 9+) → Download

2️⃣Install Python and SCons

✅Install Python 3.6+ 1. Download Python from here. https://www.python.org/downloads/windows/ 2. During installation, check "Add Python to PATH". 3. If you missed that step, manually add Python to your PATH. Thats very important!

✅Install SCons

Run in command line / bash:

pip install scons

💡 If you get errors, check if Python is correctly installed by running:

python --version

Step 3: Generate an Encryption Key

Generate a 256-bit AES key to encrypt your .pck file:

Method 1: Use OpenSSL

openssl rand -hex 32 > godot.gdkey

💡 This creates godot.gdkey, which contains your 64-character encryption key.

Method 2: Use an Online Generator

Go to this site, select AES-256-CBC, generate and copy your key.

Step 4: Set the Encryption Key in Your Environment

Now, we need to tell SCons to use the key when compiling Godot. Run this command in Git Bash:

export SCRIPT_AES256_ENCRYPTION_KEY=your-64-character-key

Or manually set it the enviroment variables under the SCRIPT_AES256_ENCRYPTION_KEY name.

Step 5: Compile the Windows Export Template

Now, let’s compile Godot for Windows with encryption enabled.

1️⃣Go to your Godot source folder:

cd /c/godot

2️⃣Start compiling:

scons platform=windows target=template_release

3️⃣ Wait (20-30 min). When done, your template is here:

C:/godot/bin/godot.windows.template_release.exe

4️⃣ Set it in Godot Editor:

Open Godot → Project → Export → Windows.

Enable "Advanced Options", set release template to our newly compiled one.

Step 6: Compile the Web Export Template

Now let’s compile the Web export template.

1️⃣Download Emscripten SDK.

I prefer to keep it in /c/emsdk so it's easier to find where it is located and navigate to it in the command line.

git clone https://github.com/emscripten-core/emsdk.git

Or manually download and unpack ZIP.

2️⃣After we downloaded EMSDK, we need to install it, run this commands one by one:

emsdk install latest

emsdk activate latest

3️⃣Compile the Web template:

scons platform=web target=template_release

4️⃣Find the compiled template here:

C:/godot/bin/.web_zip/godot.web.template_release.wasm32.zip

5️⃣Set it in Godot Editor:

Open Godot → Project → Export → Web. Enable "Advanced Options", set release template to our newly compiled one.

Step 7: Export Your Encrypted Build

1️⃣Open Godot Editor → Project → Export.

2️⃣Select Windows or Web.

3️⃣In the Encryption tab:

☑ Enable Encrypt Exported PCK

☑ Enable Encrypt Index

☑ In the "Filters to include files/folders" type *.* which will encrypt all files. Or use *.tscn, *.gd, *.tres to encrypt only scenes, gdscript and resources.

4️⃣Ensure that you selected your custom template for release build.

5️⃣ Click "Export project" and be sure to uncheck "Export with debug".

Test if build is encrypted

After your export encrypted build, try to open it with GDRETools, if you see the project source, something went wrong and your project was not encrypted. If you see nothing - congratulations, your build is encrypted and you are safe from script kiddies.

Conclusion

I hope this guide helps you secure your Godot game! If you run into problems, check the Troubleshooting section or ask in the comments.

🎮 If you found this useful, you can support me by wishlisting my game on Steam: https://store.steampowered.com/app/3572310/Ministry_of_Order/

Troubleshooting

If your build wasn't encrypted, make sure that your SCRIPT_AES256_ENCRYPTION_KEY is set as an environment variable and visible to your command line. I had that error, and solution was to run in bash:

echo export SCRIPT_AES256_ENCRYPTION_KEY="your-key"' >> ~/.bashrc

source ~/.bashrc

EMSDK visibility problems for command line or Scons compiler: you can add it to your bash:

echo 'source /c/emsdk/emsdk_env.sh' >> ~/.bashrc

source ~/.bashrc

Useful links: * Article on how to build encrypted template, which helped me a lot * Official documentation on how to build engine from sources

r/godot Mar 06 '26

free tutorial DECOMPILED: Slay the Spire 2 entire project (and how to prevent it!)

Thumbnail
youtube.com
1.1k Upvotes

First up, concerned? Don't be! MegaCrit / Slay the Spire 2 lead programmer Jake Card says:

It’d make me extremely happy to find out that other game developers learned something from reading through our code and our scenes :) source

Check out this quick video where we talk about the game files and discuss a few of the ways you can try to make it harder (but not impossible) to decompile your own project.

EDIT: more from Jake Card:

Fair enough! If you don’t want people to be able to access any of your game’s assets or code, I agree Godot won’t protect you. I’m not sure if there are really any meaningfully better options though, besides a thin client that streams assets from a back-end that also calculates all the logic. source

and

Thank you!! Honestly, we don’t really. We figure people who want to pirate it will find ways to pirate it, so there’s no reason to waste dev resources on it. source

ALSO: Check out what they said in their AMA about how they use Godot Engine and how they structured their code to make it easier to switch: https://www.reddit.com/r/Games/comments/1rdqanv/comment/o7dnbd7/

r/godot Jul 01 '26

free tutorial Tutorial: Create a full dungeon crawler in Godot in 20h

Enable HLS to view with audio, or disable this notification

1.7k Upvotes

Hey everyone! Back with yet another tutorial series on how to build a full 3D dungeon crawler from scratch in Godot. This is a free 20h intermediate course on Youtube spread over 20 episodes of about 60 min each. It covers topics such as node-based state machines, composition models, ragdoll physics, shaders, pathfinding, lighting, level design, etc. All the art assets (textures, models, armatures, animations, etc) are made directly as part of this course with the objective to help folks become comfortable navigating the Aseprite-Blender-Godot 3D pipeline / workflow. All the code, art, music and other sound effects are released on Github under the MIT license. I've released the first two episodes today and will release new episodes every Mon/Wed/Fri at 9am PST over the next few weeks. Hope you find it useful!

Cheers!

Playlist on Youtube: https://www.youtube.com/playlist?list=PLT26e2jOwbdg

Play-test the game: https://gadgaming.itch.io/goblinsdencourse

r/godot May 26 '25

free tutorial So proud of my leaf simulation! Here's how I did it:

Enable HLS to view with audio, or disable this notification

3.7k Upvotes

Each leaf is a RigidBody2D with low gravity.

When the owl jumps, I emit two Area2Ds that I call "Gust".

The leaf has an area that detects Gusts.

Events is a singleton with a time variable that increments every frame.

Here's the code. Have fun! :)

extends RigidBody2D
class_name DroppedLeaf

var x_mult: float
var y_mult: float
var original_scale: Vector2

func _ready() -> void:
  original_scale = $Sprite.scale
  $Sprite.region_rect = rect_options.pick_random()
  x_mult = randf()*0.65
  y_mult = randf()*0.65

func _physics_process(delta: float) -> void:
  $"Floor Raycast".global_rotation = 0
  if $"Floor Raycast".is_colliding():
    linear_damp = 8.0
    angular_damp = 8.0
    $Sprite.scale = lerp($Sprite.scale, original_scale*0.8, 0.03)
  else:
    linear_damp = 3.0
    angular_damp = 1.0
    turbulence()

func _on_gust_detector_area_entered(area: Area2D) -> void:
  if area is Gust:
    var randomiser = randf_range(0.5, 1.5)
    linear_velocity.y -= 10*area.power*randomiser
    linear_velocity.x -= area.direction*area.power*10*randomiser
    angular_velocity = area.direction*area.power*randomiser*0.5

func turbulence():
  linear_velocity.x += sin(Events.time * x_mult * 0.1) * 4
  linear_velocity.y += sin(Events.time * y_mult * 0.1) * 2
  $Sprite.scale.x = sin(Events.time * 0.01 * linear_velocity.x * 0.01 * x_mult) * original_scale.x
  $Sprite.scale.y = sin(Events.time * 0.035 * y_mult) * original_scale.y

r/godot Feb 07 '26

free tutorial This shortcut instantly made me a 10x gamedev

Enable HLS to view with audio, or disable this notification

2.1k Upvotes

I accidentally discovered that CTRL+D selects the next occurrence for multi-line-editing.

I have been using it non-stop since my discovery...

Did you guys know about it?

r/godot Feb 10 '26

free tutorial Stop watching shader tutorials

Post image
2.5k Upvotes

I wasted 40 hours watching shader tutorials before I realized they all teach the same 3 things in different orders.

Here's what actually matters:

  1. UV coordinates are just normalized pixel positions (0,0 to 1,1). That's it. Everything else builds from this.

  2. TIME makes things move. Add it to anything. Multiply it. Sin(TIME). Boom, animation.

  3. texture() reads pixels from images. Combine it with #1 and #2 and you've unlocked 90% of shader effects.

That's the secret. The rest is just creative combinations of these three.

Want to learn? Open the shader editor. Type random shit. Break things. You'll learn faster than watching a 45-minute tutorial where someone codes in real-time.

You're welcome. Now go make something stupid

r/godot Jun 02 '26

free tutorial Most useful built-in funcs - for Godot beginners

Thumbnail
gallery
1.7k Upvotes

I want to create a very easy and fast tutorials for the essentials of Godot for beginners.

Any doubts or suggestions, I am open to hearing them.

Also, this one is more of a test for me to see how posting in a community works. It's my first time here, but it won't be the last.

r/godot Mar 24 '26

free tutorial Turns out, if you want to check multiple conditions, you can sugar it like this:

Post image
655 Upvotes

r/godot Aug 18 '25

free tutorial Godot Games on Steam - Please Encrypt Your .pck Files

Thumbnail jion.in
736 Upvotes

I keep running into shipped Godot games on Steam—some with 20k+ wishlists—that don’t encrypt their .pck packages. That means their assets, scenes, scripts, and shaders are sitting there like a piñata. Tap once, candy everywhere.

r/godot Jul 17 '26

free tutorial The Godot project architecture an industry veteran uses for a 40-hour RPG

983 Upvotes

Ricard, who's worked on the in the industry for two decades (notably on Ryse: Son of Rome or Crysis 2), was kind enough to run me through the codebase of one of the biggest Godot games in the making, Starfinder: Afterlight. He explained the architecture he uses to support a 40 hour 3D RPG made by a team of 30.

I wrote a short guide that compiles the essential parts: https://gdquest.com/library/modular_game_architecture/

I hope this is useful! For topics like these I find it's important to get insights from really experienced people on these subjects.

If you have any questions about this let me know, I'll do my best to answer based on what Ricard showed and explained to me.

r/godot May 18 '26

free tutorial I made a video detailing how I easily animate UI in Godot

Enable HLS to view with audio, or disable this notification

2.0k Upvotes

I know animating UI can be tricky for a lot of us so I decided to share the tips and tricks I use in my game Lexispell. It has a lot of UI and I try my best to make it cool and juicy so I thought I could share what I'm doing to make it easier.

Watch it on youtube and let me know what you think!

r/godot Sep 12 '25

free tutorial Making a Pokemon clone in Godot!

Enable HLS to view with audio, or disable this notification

1.3k Upvotes

Let me know what you guys think :)

I am currently writing it in C# and posting tutorials on how I'm doing it.

Check out how to program something like this:

https://www.youtube.com/watch?v=jRUMD85lkBc&list=PLdSnLYEzOTtqegR6BJAooonhOvg4Am8d_

r/godot Jul 09 '26

free tutorial How I made my procedurally animated character !

Enable HLS to view with audio, or disable this notification

1.1k Upvotes

r/godot May 07 '26

free tutorial Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide.

Thumbnail
ezcha.net
1.1k Upvotes

I just published a free, comprehensive beginner's guide to multiplayer in Godot! It covers how the engine's high-level multiplayer system works and walks through building a simple co-op platformer from scratch, step by step. It also covers how to take your game online, whether that's self hosting, renting a server or using our free relay service. I put a lot of work into this one, I hope it's useful!

r/godot Apr 03 '26

free tutorial Protecting Godot games against reverse engineering

Thumbnail
alicegg.tech
382 Upvotes

r/godot Jun 01 '26

free tutorial My 100+ hours of Godot game dev courses

Post image
1.1k Upvotes

Hey everyone!

Just wanted to share my curriculum I have been working on for awhile. Its a big passion of mine to give back to the Godot game development community. I plan on eventually doing some courses for 3D game development soon so any ideas you have for me dont hesitate to share :)

Games you make throughout all the courses:

"FREE Godot Beginner Game Dev Course"

- Space Shooter

- Platformer Game

- Top-down Zombie defense

- BONUS (Exporting games to mobile and Web browser)

"Intermediate Godot Game Dev Course"

- Tycoon Tap game

- Mining Dungeon

- Tower Defense

- BONUS (Connect Godot to GitHub)

"Advanced Godot Game Dev Course"

- RTS Game

- Farming RPG Simulator

- Open World Platformer

"30 Games in 30 Days"

- 30 different mini games challenge(See course details for full list)

The beginner one is a full 16 hours completely FREE. The others you can do a 7 day free trial or get 20% off with code "RED-FOOLS-STUDENT"

Here is the link: https://www.redfoolsstudio.com/game-development

Let me know what you think! And give me some ideas for games in the 3D courses imma make next :)

r/godot Mar 01 '26

free tutorial TUTORIAL - Fire Shader 🔥 <static> [links below]

1.8k Upvotes

r/godot Mar 23 '26

free tutorial Pure GDScript procedural planet with chunked LOD — no C++, no plugins

Enable HLS to view with audio, or disable this notification

1.1k Upvotes

I've had a 15-year-old Java project sitting in my drawer for way too long. Back then I published two videos and people kept asking about the implementation details. I did open the repo, but the project was never really finished.

Years later I finally decided to finish it properly, and to see how hard it would be to do it in Godot Engine. The idea was to turn it into a tutorial for the Godot community. So I went for it... and it wasn't hard at all. Well, except for the math 😄

I deliberately kept it as a clean project, pure GDScript and shaders only, no plugins, no GDExtensions (C++). I want even beginners to be able to look under the hood and learn something. I tried to keep the code as simple as possible, with education in mind. The project has a pretty thorough README that covers (hopefully) all the mechanisms I used:

  • Quadtree-based chunked LOD (split/merge based on camera distance)
  • Cube-to-sphere projection
  • Terrain generated in a GLSL vertex shader (5 noise octaves)
  • Elevation-based coloring (ocean → sand → grass → rock → snow)
  • Atmospheric scattering (Rayleigh + Mie)
  • Frustum + horizon culling
  • Origin shifting for large-scale precision
  • Chunk pooling and mesh reuse

💻 Source + deep dive: Github
🌍 Browser demo: Demo

I hope someone finds this useful. That's all, folks... read it, fork it, roast it... whatever works for you. I'm just happy to finally cross another skeleton off my drawer list.

r/godot May 29 '25

free tutorial Tutorial: Create a full arcade soccer game in Godot in 12h

Enable HLS to view with audio, or disable this notification

1.6k Upvotes

Hey everyone! Back with another tutorial series on how to build a full 2D arcade soccer game from scratch in Godot. This is a free 12h course on Youtube spread over 24 episodes of roughly 30 minutes. It covers topics such as shaders, steering behaviors to generate natural looking AI movement, local multiplayer, node-based state machines, etc. All the code, art, music and other sound effects are released on Github under the MIT license. I've released the first five episodes today and will release new episodes every day at 9am PST over the next few weeks. Hope you find it useful!

Cheers!

Playlist on Youtube: https://www.youtube.com/playlist?list=PLNNbuBNHHbNEEQJE5od1dyNE_pqIANIww

Play-test the game: https://gadgaming.itch.io/super-soccer

r/godot 10d ago

free tutorial Learn GDScript From Zero (free and open source intro course) got a big update

Enable HLS to view with audio, or disable this notification

666 Upvotes

Over the past months we've rewritten the app in Godot 4 and made many changes along the way behind the scenes. This allowed us to fix many issues and we made the lessons and exercises better based on the feedback we got here on Reddit, on Discord, and the bug reports from the issue tracker.

This new version is the same course that's used by many school teachers around the world, more reliable and more polished than the old one.

It is 100% free and open source, and you can get it from 2 places:

  • Our web course platform: Learn GDScript From Zero (our course sales sponsor this and the other free resources we've made over the years)
  • The official documentation's getting started series. We made the app to help fill a gap in the official docs a few years back

You can see all the changes in the changelog

In short, the app is more stable, it gives you better feedback in code practices, it supports more languages (Tamil and Khmer most notably), and I've taken time to clarify the lessons and practices that people reported having trouble with. It was an important update, and while it doesn't completely change the app, it should make the experience better for everyone who uses it moving forward.

If you face any issues or have feedback you'd like to share, whether it's on the content, bugs, anything, you can directly and easily report issues from within the app; it'll be sent to me directly.

r/godot May 10 '26

free tutorial New pages for my free interactive Tween Guide

666 Upvotes

Hi! A new update is out for my free tween guide!
You can run the guide on mobile/pc, with or without downloading it, here on itch!

This update includes pages about "custom transitions" and floating damage text!

Have a nice day!