14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference) | 2021

What’s Inside Unreal Engine? - A Curious Gaze!

 
 

Abstract


Game developers often use game engines to efficiently develop games and reduce effort by reusing predefined components. However, game engines are complex and difficult to comprehend to extend and integrate with other components. Unreal Engine is one of the most commonly used open-source game engine which is quite complex and involves thousands of APIs. In this paper, we aim to comprehend Unreal Engine by analyzing its underlying software architecture. We accomplish this by considering the architectural changes across various releases of the GitHub repository of Unreal Engine by using an in-house tool called AC2 which uses call graphs and collaboration graphs. We run this tool on three initial releases of two components of the Unreal Engine and observe two kinds of architectural patterns, namely Event-driven and Hierarchical MVC (Model-View-Controller). We also observe the changes in components across releases. We believe that this preliminary study on Unreal Engine may unveil its architectural design and modules and may aid in better comprehension of this complex and widely used game engine for researchers and practitioners.

Volume None
Pages None
DOI 10.1145/3452383.3452404
Language English
Journal 14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)

Full Text