Free online courseGodot 4 for Beginners: Build a Complete 3D Platformer Game
Duration of the online course: 11 hours and 59 minutes
New
Free Godot 4 course for beginners: build a complete 3D platformer with movement, camera, coins, enemies, UI, audio, and export to web.
In this free course, learn about
Project Setup and Core Player Movement
GDScript Fundamentals for Gameplay
3D Assets, Materials, and Camera Setup
Level Building with Blender Blocks and GridMap
Player Polish, Slopes, and Scene Reset
Coins, UI, and Animation State Basics
Playable Character Animation and Enemy AI
Enemy Behaviors and Moving Platforms
Audio, Exporting, and Publishing
Course Description
Learn to create a complete 3D platformer in Godot 4 with a free, beginner-friendly course focused on practical game development from the very first setup to a playable, publishable project. You will build your skills step by step while assembling a full game loop, gaining confidence with the editor, scenes, nodes, and a clean workflow for 3D projects.
Follow a hands-on path through core mechanics such as solid level geometry, player movement and jumping, camera follow and camera controls, and reliable collision handling with layers. Along the way, you will add collectables with feedback and animation, track progress with a win condition, and display information through a simple HUD.
Expand your project with 3D assets and world building, including creating a coin model in Blender and bringing it into Godot, applying materials, and constructing levels with reusable world blocks. You will also implement scene changes with fall zones, align the player to uneven ground for smoother traversal, and add moving platforms to enrich platforming challenges.
Bring your world to life by introducing an animated, rigged playable character, plus enemies with collision behavior and cliff detection that allows them to turn around automatically. Finish with essential polish such as menu screens and sound effects, then learn how to export your game as a Windows app and publish it to the web so others can play what you built.
Course content
Video class: Godot 4 3D Platformer Lesson #1: Let's Get Started!22m
Exercise: When creating a new Godot project, what does Godot require for the project location?
Video class: Godot 4 3D Platformer Lesson #2: Solid Objects28m
Video class: Godot 4 3D Platformer Lesson #3: Player Object Movement/Jump Script!13m
Exercise: Which node type should be the root of a reusable 3D player character scene so it can be moved with physics-based character controls?
Video class: Godot 4 3D Platformer Lesson #4: Coding 101 (Part 1)28m
Exercise: In GDScript, what does the const keyword indicate about a value?
Video class: Godot 4 3D Platformer Lesson #5: Coding 101 (Part 2)36m
Exercise: In GDScript, what does using elif (instead of a second separate if) help you do when checking left vs. right input?
Video class: Godot 4 3D Platformer Lesson #6: Collectable Coin25m
Exercise: Which node type is used for a coin that detects when the player enters it but does not physically bump into objects?
Video class: Godot 4 3D Platformer Lesson #7: 3D Coin Model from Blender to Godot!38m
Exercise: When exporting the new coin model from Blender for use in Godot, which file format is chosen?
Video class: Godot 4 3D Platformer Lesson #8: Adding Materials26m
Exercise: Which setting is changed in Project Settings to reduce jaggy edges (aliasing) in a 3D Godot project?
Video class: Godot 4 3D Platformer Lesson #9: Smooth Camera Following24m
Exercise: Which approach is used to make the camera smoothly follow the player?
Video class: Godot 4 3D Platformer Lesson #10: Modeling World Blocks!53m
Exercise: In Blender, what specific naming pattern is used so Godot recognizes a mesh as a collision-only child when importing the GLTF/GLB?
Video class: Godot 4 3D Platformer Lesson #11: Building 3D Levels with World Blocks15m
Exercise: What must you create and assign to a GridMap so you can paint level tiles from imported blocks?
Video class: Godot 4 3D Platformer Lesson #12: Camera Controls31m
Exercise: Where do you change the game's overall 3D gravity so it affects the player and other physics objects?
Video class: Godot 4 3D Platformer Lesson #13: Align Player with Ground!26m
Exercise: Which node is added to detect the floor's normal so the character can tilt to match slopes?
Video class: Godot 4 3D Platformer Lesson #14: Fall Zone to Change Scenes10m
Exercise: How can you restart the current level when the player falls into an invisible fall zone?
Video class: Godot 4 3D Platformer Lesson #15: Collision Layers11m
Exercise: What is the main purpose of using collision layers and collision masks in a 3D scene?
Video class: Godot 4 3D Platformer Lesson #16: Animated Coin Bounce!19m
Exercise: After triggering the coin collection, which code approach prevents the coin from being collected multiple times while its bounce animation plays?
Video class: Godot 4 3D Platformer Lesson #17: Counting Coins to Win! Singletons16m
Exercise: What is the main reason to set up a Singleton (autoload) for coin counting?
Video class: Godot 4 3D Platformer Lesson #18: Coins Heads-Up Display (HUD)!34m
Exercise: Which root node is used to make a HUD stay fixed on screen above a 3D scene?
Video class: Godot 4 3D Platformer Lesson #19: 3D Rigged, Animated, Playable Character!32m
Exercise: When deciding which robot animation to play, why must the jump/run/idle checks happen before calling move_and_slide() in _physics_process()?
Video class: Godot 4 3D Platformer Lesson #20: Adding an Enemy! (Part 1)46m
Exercise: Which collision shape is recommended for the enemy to help it avoid getting caught on small edges in the level?
Video class: Godot 4 3D Platformer Lesson #21: Enemy (Part 2)! : Collisions24m
Exercise: In the enemy collision setup, which Godot node is added to the enemy to detect when the player touches it (for side/top checks)?
Video class: Godot 4 3D Platformer Lesson #22: Enemy (Part 3)! : Cliff-Detection! Auto-Turn-Around15m
Exercise: How does the enemy detect a cliff edge and decide to turn around?
Video class: Godot 4 3D Platformer Lesson #23: Reusable Moving Platforms!36m
Exercise: Which node type is used as the root for a moving platform so it can be moved by code/animation while still affecting other bodies it pushes?
Video class: Godot 4 3D Platformer Lesson #24: Menu Screens27m
Exercise: Which method is used in a button's pressed signal function to switch from the menu scene to another scene (like Level 1)?
Video class: Godot 4 3D Platformer Lesson #25: Adding SFX35m
Exercise: Why is a separate Sound Manager scene autoloaded in the project?
Video class: Godot 4 3D Platformer Lesson #26: Exporting to a Windows App (.exe)21m
Exercise: When exporting a Windows build, which option lets you include the game’s asset package inside the .exe so players don’t get a separate file?
Video class: Godot 4 3D Platformer Lesson #27: Publishing your Web Game! (Course Finale!)16m
Exercise: When exporting a Godot 4 project to be playable in a web browser, which render engine should you switch to?