Don’t Let These 4 Code Smells Ruin Your Unity Game @git-amend
Don’t Let These 4 Code Smells Ruin Your Unity Game  @git-amend
Uploaded August 2025 | Updated September 2026, 9 hours ago
Shotgun Surgery is one of the most frustrating code smells in Unity — when a single change forces you to edit multiple scripts scattered across your project. In this video, we’ll tackle it along with three other common pitfalls: Switch Statements, Temporary Field, and Refused Bequest. You’ll see real Unity C# examples of each smell, why they make your code harder to maintain, and step-by-step refactors to cleaner, safer designs. Drawing from Martin Fowler’s Refactoring, we’ll adapt proven object-oriented solutions to Unity, so you can keep your project easy to change, extend, and debug — no matter how big it gets.

Want to support me? 😀
Buy me a coffee! ko-fi.com/adammyhre

🔔 Subscribe for more Unity Tutorials youtube.com/@git-amend

Discord: discord.gg/FDRZGQBBUC

#unity3d #gamedev #indiedev

▬ Contents of this video ▬▬▬▬▬▬▬▬▬▬

0:00 Temporary Field
4:05 Switch Statements
7:20 Shotgun Surgery
11:33 Refused Bequest

More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642

*Other Recommended Tools* _(Affiliate Links)_
Scene Notes - assetstore.unity.com/publishers/87819?aid=1101lw3sv
DarkMode for Unity Editor - assetstore.unity.com/packages/tools/gui/darkmode-for-unity-editor-on-windows-281842?aid=1101lw3sv
Beautify - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/beautify-3-advanced-post-processing-233073?aid=1101lw3sv
Umbra Soft Shadows - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/umbra-soft-shadows-better-directional-contact-shadows-for-urp-282485?aid=1101lw3sv
Wingman - assetstore.unity.com/packages/tools/utilities/wingman-your-inspector-s-best-friend-303181?aid=1101lw3sv
Favorites Window - assetstore.unity.com/packages/tools/utilities/favorites-window-123487?aid=1101lw3sv
Logwin - assetstore.unity.com/packages/tools/utilities/logwin-log-debug-values-tracker-149558?aid=1101lw3sv
TimeScale Toolbar - assetstore.unity.com/packages/tools/utilities/timescale-toolbar-291564?aid=1101lw3sv
Odin - assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101lw3sv?aid=1101lw3sv
Odin Validator - assetstore.unity.com/packages/tools/utilities/odin-validator-227861?aid=1101lw3sv
Hot Reload: assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-254358?aid=1101lw3sv
Better Hierarchy: assetstore.unity.com/packages/tools/utilities/better-hierarchy-272963?aid=1101lw3sv
Better Transform: assetstore.unity.com/packages/tools/utilities/better-transform-size-notes-global-local-workspace-child-parent--276554?aid=1101lw3sv
Better Mesh Filter: assetstore.unity.com/packages/tools/utilities/better-mesh-filter-266489?aid=1101lw3sv
DevTasks - Offline Project Manager - assetstore.unity.com/packages/tools/utilities/devtasks-offline-project-manager-307257?aid=1101lw3sv
Editor Console Pro: assetstore.unity.com/packages/tools/utilities/editor-console-pro-11889?aid=1101lw3sv
Any Object Finder: assetstore.unity.com/packages/tools/utilities/any-object-finder-286455?aid=1101lw3sv
Clipper PRO: assetstore.unity.com/packages/tools/utilities/clipper-pro-the-ultimate-clipboard-277112?aid=1101lw3sv
Kybernetic Tools: assetstore.unity.com/publishers/16747?aid=1101lw3sv
Sisus Tools: assetstore.unity.com/publishers/41398?aid=1101lw3sv
Prime Tween - assetstore.unity.com/packages/tools/animation/primetween-high-performance-animations-and-sequences-2529607?aid=1101lw3s
Rabbit Logger - assetstore.unity.com/packages/tools/utilities/rabbit-logger-305396?aid=1101lw3s

*Follow me!*
https://linktr.ee/gitamend
Don’t Let These 4 Code Smells Ruin Your Unity GameUnity Playables is Actually a Game-ChangerUI Toolkit Runtime Data Binding and LogicUsing Octrees and A* for Efficient PathfindingRadial Menu Systems in Unity | Shapes, Gradients & InteractionZLinq Revolutionizes Unity Game Development With ZERO ALLOCATIONSEASY Stats and Modifiers in Unity | Broker Chain PatternUnleashing the Power of Event Channels in UnityUnitys Experimental Profiler Tool Will CHANGE Your Multithreading GameUnlocking C# 10 in Unity: How to Use Records and Record StructsVisualizing Memory and Garbage Collection in UnityThis is How Professional Developers Clean Up Code
git-amend |

Don’t Let These 4 Code Smells Ruin Your Unity Game

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER