Is Unreal 5 for Training Content Development?
Unreal was recommended to me as a potential alternative to Unity, which has recently become too expensive for my use case. I was under the impression that it required C++ programming to be productive with it, but a lot has changed since the last time I looked it over.
In my role I evaluate potential solutions for developing XR content. Unity is the most popular development tool among the developers I interact with, but we are at a point where we can afford to consider alternatives. Whatever tools we use, it needs to be able to support various roles and skillsets to develop solutions.
The most constraining role is going to be programmer, because any proficient programmer is going to want to program all the time. The kind of projects we do will not be steady enough or challenging enough to attract the level of talent we will need. We will need to hire out for custom programming or we will be limited to what plugins and libraries can offer. By the way, there are some awesome resources that come with Unreal, including playable sample games and very realistic fire.
So we will hire a firm with programmers who can provide a consistent quality solution and be available when we need them. What they deliver needs to be usable by designers. This is where Unreal provides a very interesting approach to how they segment code.
Blueprints
Blueprints are what Unreal provides to combine their programming API with game assets in a way that does not require text-based programming. The classes, interfaces, objects and control structures of Unreal’s native C++ are represented in a graphical flowchart. Game logic can be arranged visually in a format that non-programmers can understand. It is conceivable that a Blueprint could even be used as an integral part of the documentation.
Importantly, custom code can also be accessed and expressed in the same visual toolset of Blueprints used by Unreal. This means that custom solutions can be programmed by specialists and harnessed for use by designers in a small in-house team for solution development.
Where I see my role is to ensure that the custom development solves problems specific to our domain, but usable for many solutions we might develop and support. Part of that will be to develop requirements and user-test proposed solutions. And, who knows? I might do some programming and content design along the way.