Unreal Engine As A New Dev
Ciaran, the newest member of the development team at Idonix, shares his thoughts about working with Unreal Engine for the first time
One of the many services we offer here at Idonix is the creation of 3D graphics, blueprints, and plugins made for Unreal Engine, and I recently had the opportunity to pair up with my colleague, James, to do some work in this area. Having spent some time working together, and then dipping my toes into the vast ecosystem of Unreal by myself, I thought I would share some of my thoughts on coming to grips with UE as a new developer.
Perhaps the most interesting thing about working as a software developer is learning about new tools & technologies, which can be a common occurrence even for the most experienced among us given the breadth of the field and the pace with which it continues to expand. For someone new to the industry like me, however, it’s something of an everyday occurrence.
As such, I think it’s important to be flexible when approaching a new programming language or development tool, keeping an open mind and not letting any previously formed habits and biases prevent you from making the most of the thing you’re trying to learn.
So, having spent some time with UE whilst trying to keep an open mind, here are some observations about my experience (both good and bad).
One thing that stands out in UE is the flexibility and versatility of the engine. There’s very little that you can’t do with it, and anything you can’t do out of the box could be made possible with plugins or engine modification. It’s this versatility that has made it possible for UE, which for all intents and purposes is made for the development of videogames, to become a tool widely used in the film and broadcast industry as well.
Of course, this flexibility has layers of difficulty to it: the simplest layer being blueprint based projects which require no explicit knowledge of programming. However, there is a clear limitation on what is possible with just the tools provided to a blueprint-only developer. In order to harness to full potential of the engine, it does require you to go down to a deeper layer and work with C++ code, and even greater customization might require you to delve into the engine source itself which could be a serious undertaking depending on the requirements.
The blueprinting system in UE is vast and well thought out. Unlike other node-based UIs I’ve tried, everything is intuitively laid out and highly responsive, and once you get the hang of it you can quickly set up some complex projects without much thought. The blueprint system is perhaps one reason why UE has become a popular tool in the creative industries beyond just gaming, as even those not used to typical programming languages can get started easily.
Having said that, as someone who is used to the typical workflow of writing code I found that blueprints can often overly complicate what would be a simple function or expression in code. I often found myself thinking “this would be so much easier if I could just write the code directly”. Of course, this kind of limitation may be inevitable when talking about no-code/low-code development, and with UE there is always the option of making your project code based if desired.
As Unreal Engine is one of the largest development platforms it has a similarly gigantic community of developers offering support on forums and through tutorials and blog posts. This is a major help to anyone, like me, who’s just getting started. Epic also maintain an Unreal Marketplace where you can find all kinds of useful things from plugins to 3D models, saving development time and letting you focus on the things that make your project unique.
From the perspective of a game developer, the UE community is probably capable of providing the answer to any question you might have. But for those of us who are using UE for slightly different purposes than its original intention, there seems to be a real lack of shared knowledge. On top of that, there is slightly less incentive for Epic to fix engine-level bugs that relate to more niche-use cases meaning you might run into some strange engine behaviour if you’re using the engine for something other than game development.
Overall, Unreal Engine is a very complex beast and my experience (limited to a few small projects and some C++ plugin development) has only touched the surface. What has become clear to me is that while UE is very much a structured experience if you’re someone who is looking to start a game development project, if you’re someone who wants to create some 3D graphics or a virtual set for TV, there’s much less guidance and a lot of trial and error is necessary.
Luckily for me, I have the help of my senior colleagues at Idonix to get me up to speed with UE, and if you’re someone who is looking to build a project or plugin in the broadcast space but doesn’t know where to start, then get in touch with us and see if we can help you too.