Vigyata.AI
Is this your channel?

Mastering Composition for Beginners in Godot

55.2K views· 2,789 likes· 58:03· Jan 23, 2026

🛍️ Products Mentioned (11)

#coding #programming #gamedev #gamedevelopment #gaming #godot #godot4 #godotengine Godot Documentation: https://docs.godotengine.org/en/stable/getting_started/introduction/introduction_to_godot.html Download Project Template: https://syntystore.com/products/polygon-starter-pack All Synty Assets for Godot: https://syntystore.com/collections/godot-asset-packs Website: https://codewithro.com/ Support me on Patreon: https://www.patreon.com/CodeWithRo Join my Discord Server: https://discord.gg/gZH4JDpgdT Donations: https://ko-fi.com/codewithro Synty Store: https://syntystore.com/codewithro Ithappy Store: https://ithappystudios.com/?ref=codewithro Use Code: CODEWITHRO25 to get 25% all Ithappy assets! Business Inquiries: codewithropatreon@gmail.com My full dev setup & gear: https://amzn.to/49gqJAU Learn Software/Game Dev: https://amzn.to/4blLbmA Timestamp 00:00 - Intro 00:40 - The Inheritance Trap 01:43 - What is Composition? 02:52 - The Big Three Benefits 04:32 - Communication & Signals 05:04 - The Godot Way 07:49 - Lego Building 08:21 - Performance & Philosophy 09:22 - The Orchestrator 10:12 - Live Build & Challenges 25:37 - Challenge 1 25:59 - Continuing Live Build 43:18 - Challenge 2 43:49 - Continuing Live Build 2 49:53 - Challenge 3 50:30 - Continuing Live Build 3 57:00 - Outro

About This Video

In this video I walk you through composition in Godot (Godot 4.6 RC1, but you can follow along in whatever version you’re comfortable with). I start with the “inheritance trap” I see beginners fall into all the time: stuffing movement, jumping, dashing, attacks, and everything else into one massive player.gd until it becomes a 5,000-line monster you’re scared to touch. Then I break down composition as the “has-a” approach (single responsibility principle: one script, one job) and why it’s the industry standard—reusability, encapsulation, and iterative design. After the concepts, I jump into a real Godot project (using the free Synty Polygon Starter Pack) and we build it the Godot way: nodes as components, signals for decoupled communication, and typed exports with class_name so components can plug into each other safely. I show how @export variables beat fragile get_node paths, and how scene unique names make your “backpack” of components easy to find even after you reorganize your scene tree. Finally, I switch into live-building mode with challenges. We set up an InputComponent, wire it through the player “orchestrator,” and start laying the foundation for a MovementComponent with inspector-driven tuning (speed, jump velocity, gravity multiplier). The big takeaway: keep components selfish and context-agnostic—if it works on a literal rock, you’re doing composition right.

Frequently Asked Questions

🎬 More from Code With Ro