Game Programming
Last updated
Last updated
When starting your journey into game development, a structured learning program is a great way to get off on the right foot—even if you don't continue with it long-term. It's critical to avoid developing bad habits early on, and following at least the basics of a structured course can provide a solid foundation.
Whether you're working with Unity, Unreal Engine, or other game engines, it's important to get comfortable with core programming concepts that apply across platforms. Below are some valuable resources to help you get started.
Junior Programmer - Unity Learn This free course takes you through everything from installing Unity to writing some of the most common scripts you'll need. It’s a great place to begin, especially for those starting from scratch. You can also move into more advanced topics as you progress.
Unreal Engine Programming - Unreal Online Learning Unreal's official learning platform offers free courses that cover various aspects of programming in Unreal Engine. It’s a fantastic resource if you’re working with Unreal’s C++ and Blueprint scripting.
.NET Game Development - Microsoft Learn If you’re looking to dive into game development using the .NET framework, this is a good starting point. It covers C# programming in game development and ties in nicely with engines like Unity.
Let me be upfront: I'm not a fan of visual scripting for general programming tasks, or any task that requires in-depth programming. While I understand that some people find the idea of typing out code intimidating, and others may think that visual scripting will be faster or simpler, I want to share why I believe learning to write traditional scripts is ultimately easier and more efficient.
It's Just Typing Words If you can type, you're already more familiar with scripting than you are with using a node graph in visual scripting tools. Writing scripts is just typing words, and modern scripting languages like C# (Unity), C++ (Unreal), or even Python have easy-to-learn syntax that doesn’t require additional "special skills."
The Hard Part is Understanding Systems The true challenge of programming isn’t typing out the code—it’s understanding the underlying systems, data structures, and how to manipulate them to achieve the desired results. Visual scripting doesn’t change that. It might make typing easier, but it doesn’t teach you the principles of system design or logic. In fact, it can often make things more difficult, as visual scripting tools are usually limited and can require you to be more creative (and sometimes more “clever”) in order to work around the tool’s restrictions.
Visual Scripting Is Limited and Slower Visual scripting tools are ultimately just a way to help you write code. They are always going to be behind the capabilities of a full programming language. While it may seem like you're getting a quick start with these tools, you'll eventually run into roadblocks that are hard to bypass. In many cases, visual scripting makes things more complicated and less efficient than just writing code directly.
Fewer Resources and Limited Support Visual scripting tools are proprietary—made and maintained by specific companies. This means fewer resources and less general support compared to the standard tools and programming languages. The community and documentation for text-based scripting languages like C# (Unity) or C++ (Unreal) are vast, offering tons of tutorials, guides, and troubleshooting resources.
Better for Performance Visual scripting tends to be less performant than traditional scripting. It’s common for visual scripts to be far more resource-heavy and slower, making them unsuitable for larger, more complex projects. As visual scripting tools are constantly catching up to the functionality of text-based code, they rarely offer the full flexibility and power you get with a programming language.
I firmly believe that learning traditional scripting—whether it’s C#, C++, or another language—is the most effective and long-term way to become proficient at programming for game development. It may seem like a steep learning curve at first, but it's more efficient in the long run. You’ll gain a deeper understanding of systems, performance, and the logic behind programming.
Instead of spending time learning the intricacies of a node graph in visual scripting, I encourage you to start learning the basics of coding today. With the resources provided, you’ll be able to start writing real scripts and creating functional systems in no time.