Why you should not use Unreal Blueprint.
Here’s some background for this tip: I’ve created significant amounts of Blueprints for gameplay, rendering logic, and utilities in Unreal Engine and the Editor during three jobs in my career. I also have background in teaching Unreal Engine programming at the SMU Guildhall video game development education program.
If you’re not familiar with them, Blueprints are a visual scripting system designed to simplify programming for creating gameplay mechanics, rendering logic, and tools in Unreal Engine.
Unreal Blueprints promised to improve game development with visual programming, making logic accessible to designers and artists without coding knowledge. However, after years of extensive experience in the field, it’s evident that Blueprints create more problems than they solve.
Unfortunately, Unreal Blueprints, in their current form, are causing significant productivity loss and numerous painful issues.
While the idea behind Blueprints seemed promising, the reality is far from ideal. Here are the core issues that make Blueprints impractical for many teams:
- Blueprints are binary: They cannot be viewed or edited using standard tools. They are marked as binary files and appear as such in Git LFS and Perforce. This means they have to be locked for editing and can’t be merged.
- They are impossible to diff (and merge): Two developers can’t work on the same Blueprint in two different branches and then merge. With traditional text-based files, developers merge seamlessly because they don’t touch the same lines of code. This directly causes slowdowns in the development process.
- Blueprints are impossible to review without a video or screenshots: Collaboration suffers, and change velocity is significantly lower than with traditional text-based languages. This also allows issues to sneak in. Developers miss things or forget about their changes because they don’t see them.
- Asynchronous logic is much more difficult to do in Blueprints than in classic Unreal C++.
- There are multiple types of Blueprints - Game, Editor, and Editor Widget: It’s difficult to move logic from one to another and make them work together. These differences lead to costly confusion and mistakes.
Most importantly, Blueprints are incompatible with modern AI tools and LLMs, as they lack a text-based format. This core limitation undermines their potential in AI-driven workflows. In fact, this is the real and most significant Achilles’ heel of the entire Blueprint visual programming system in Unreal.
Choose wisely where you implement your game or business logic. You should know that Unreal Python is extremely powerful, as Unreal types are represented and translated seamlessly back and forth between Unreal and the Python interpreter. If you’re looking to maximize your impact and return on investment, I highly recommend using Unreal Python and C++. These allow you to use standard development practices like diffing, merging and most importantly AI-assisted coding to help you generate better code faster.