Add collectable coins using Area3D; import coin models from Blender via GLTF/GLB
Apply materials and reduce aliasing via Project Settings (anti-aliasing/MSAA settings)
Implement smooth camera follow and additional camera controls; adjust global 3D gravity settings
Use fall zones to restart levels by reloading the current scene
Configure collision layers/masks to control what interacts and what detects overlaps
Prevent double-collecting coins by disabling monitoring/collision or gating with a collected flag
Use Singletons (autoloads) for persistent coin counting and a CanvasLayer HUD for UI
Add animated characters; update animation state before move_and_slide() each physics frame
Create enemies with capsule collisions, hit detection areas, and cliff-detect raycasts to turn
Build moving platforms (AnimatableBody3D) and add menus, SFX manager, and Windows/Web export
Course Description
Bring your game idea to life by building a complete 3D platformer from the ground up in Godot 4. This beginner-friendly course guides you through the full workflow of creating a playable project that feels like a real game: solid movement, responsive jumping, collectible items, a smooth camera, interactive hazards, win conditions, and a polished presentation. You will learn by doing, creating systems you can reuse in future projects instead of relying on disconnected examples.
Along the way, you will get comfortable inside the Godot editor and learn the practical foundations of GDScript, including how to structure logic, handle input cleanly, and work with constants and control flow for reliable behavior. You will also understand how physics-based characters are organized, why certain node types are best for reusable scenes, and how collision layers and masks keep complex interactions predictable as your project grows.
The course connects common 3D game development tasks into one coherent pipeline. You will move assets between Blender and Godot, import models in a production-friendly format, and set up collision correctly so environments feel solid without creating performance headaches. Visual quality is improved with sensible project settings, and the camera is tuned to follow the player smoothly for a more professional feel.
To make your world engaging, you will add animated collectibles, a coin counter with persistent tracking, and a HUD that stays fixed on-screen over a 3D scene. You will also introduce enemies with reliable collision detection, learn strategies for edge cases like cliffs and slopes, and build moving platforms that behave properly with other bodies. Finally, you will wrap everything up with menu screens, sound effects managed in a clean project structure, and export builds for Windows and the web so you can share your game with others.
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?