James Brown - Software Engineer
Engine: Unreal Engine 4
Language Used: C++
Primary Roles: Scoring System
This is a plugin I worked on with SA Simulations (Krome Studios sister company) for Unreal Engine 4 that works with an in-house developed interface based on the common image generator interface protocol (CIGI). The purpose of CIGI is to be engine agnostic and a means to communicate data over a network between a simulation and an image generator such as Unity, VBS, X-Plane and specifically in this case UE4. For instance a machine/server could be hosting the simulation with a sperate machine running the image generator with CIGI feeding it information based on data recieved from the host. This project was purely RND and was developed to communicate with SA Sims flight sim software FLEX-Air which you can read more about here. My primary role was to create the plugin and create the systems within Unreal that listen to events generated by CIGI. For example, events that instantiate entities, updating the entity's transform and updating the camera’s view position. This plugin leveraged Cesium’s UE plugin to render the earth which I integrated to correctly place entities in the virtual earth. This project marked my first foray into professional Unreal Engine development, providing invaluable insights into a simulation-centric work environment. Working with the Common Image Generator Interface protocol, it exposed me to the fascinating ways a protocol is integrated across various engines such as Unity, which SA Sims was also developing a plugin for at the same time.
Overall, this project was not only a professional milestone that taught me how to use the Unreal Engine, which came handy when I began working on Hogwarts Legacy, it was also a gateway into understanding how an engine agnostic plugin can be integrated into different engines. Working in a simulation-orientated environment also broadened my perspective and enhanced my adaptability to different workflows.