Hello, we are Caspar Michel, Producer, and Marco Unger, Lead VFX/Environment 3D Artist from ROCKFISH Games. We’re part of a small team based out of Hamburg, Germany focusing on making space action games with our EVERSPACE series. Our latest title, EVERSPACE 2, launched on PC April, 2023 and on Xbox and PlayStation in August, 2023. Most recently, our April 29, 2024 Incursions update included EVERSPACE 2's migration from Unreal Engine 4 to Unreal Engine 5.3. We’re here to share some of the benefits and challenges found during ROCKFISH’s migration experience.
Our goal in bringing EVERSPACE 2 from a vanilla version of UE4 to UE 5.3 was to ensure long-term maintainability of the game and smooth ongoing development for future expansion content. This was a strategic upgrade to prevent disruptions during upcoming development phases and updates—our thought was that work done now would save us potential headaches down the road.
A mixture of ambient starlight and multiple light sources in Prescott Station provides an excellent opportunity for Lumen (pictured on right) to shine.
We tend to go with the latest tech and upgrade the engine regularly during development, heavily relying on platform extensions, some of which would no longer work correctly with an outdated SDK. Had we no plans to continue development on EVERSPACE 2, we likely could have stayed on UE4, but as we have plans to create expansion content, finding solutions for deprecated tools would have created a significant ongoing time sink.
Enabling Lumen
EVERSPACE 2 is considered by many to be one of the most attractive space titles on the market today. We’re especially proud of the in-game lighting, using a combination of precomputed GI solution and Screen Space Global Illumination (SSGI) for all types of areas scattered throughout multiple in-game solar systems. However, highly detailed lightmaps take multiple days to calculate, even using very capable hardware in our studio.
Indirect Global Illumination from Lumen (pictured on right) is simulating light bouncing from surfaces (usually a very costly calculation) to create a more realistic (or higher fidelity) shadow detail, bringing more character to a scene or area.
Implementing Lumen was literally just a matter of setting a variable in our configuration (*.ini) to “True”. The feature just worked right out of the box—a rarity in game development! Though we were skeptical about implementing the dynamic global illumination and reflections system at first, we quickly saw how Lumen took already impressive visuals and improved them in ways not previously possible with baked GI lightmaps.
The bones of this ancient creature appear even more weathered with Lumen on (pictured on right).
Though the implementation of Lumen was a matter of a few clicks, we made additional ini tweaks to increase the ray tracing scene culling radius to accommodate for our large environments, along with enabling the use of Screen Space Ambient Occlusion (SSAO) in combination with Lumen. This was more of an artistic choice, and, while not particularly realistic, added a lot of additional depth to what’s seen on screen.
The end result with Lumen enabled is spectacular, especially in high-contrast lighting situations where starlight reflects into the intricate geometry of space stations, ancient structures, and mining platforms.
Shadows with Lumen (pictured on right) enabled add even more detail to this busy mining colony.
Not everything was as easy as enabling Lumen though. Along with the migration came a few issues related to the Niagara particle systems that received some significant changes. Some modules were deprecated while others were merged, which led to errors when the editor tried to convert/update the existing systems automatically. With the removal of material displacement, we also had to extensively rework much of the VFX, not a small task for a game filled with flashy lasers and colorful explosions. However, we feel the effort here is worth it in the long-term so that we can stay closer in line with upcoming releases.
Challenges, Bugs, and Hurdles
In total, our programmers spent several hundred hours on initial migration, including development, meetings, troubleshooting and fixing many migration induced bugs.
While we had experience migrating between major versions in Unreal Engine 4, we still faced initial issues when migrating to Unreal Engine 5.3. Right off the bat, we were dealing with numerous bugs and system incompatibilities. These included broken shaders, materials, cutscenes, VFX, particles, physics, stretched textures, flickering and broken user interface (UI) elements, and cut off beam lasers. While this is not a comprehensive list of issues we encountered, it can give you an idea of the sort of bugs and issues being logged by our quality assurance team and our external testers.
Not long after embarking on the Unreal Engine 5 migration project, we published a short blog showing a few of the visual bugs that turned up as a way to share with our community that we were undertaking the project and to pull back the curtain on game development in a fun way.
Although many locations already look fantastic, Lumen’s lighting (pictured on right) helps to highlight the character of each asteroid, giving those rough surfaces more visual texture.
One of the initial bugs we noticed directly after opening UE5 was how a ship’s seams would glow because some material shaders were wrongly associated. Our community immediately began asking for the “Tron” look of the player ships, something we’ve since recreated in a special cosmetic Supporter Pack DLC.
We started the engine migration on November 28, 2023, and have been continuously optimizing throughout the project. The biggest issue was a performance loss across the board, affecting the PlayStation 5 and Xbox Series X and S most severely. In some levels, the PlayStation 5 and Xbox Series X dipped from a stable 60 FPS to below 30 FPS and there was no single cause for this, just multiple small issues accumulating. These performance issues have largely been solved by removing unneeded background NPC ships from areas with issues, Blueprint nativization, and optimizing tick rates of actors/components.
Offworld platforms such as space stations are vastly improved visually through Lumen’s dynamic lighting (pictured on right).
Features and Advantages
In addition to Lumen, the move to Unreal Engine 5 allowed us to implement toggleable in-game features such as NVIDIA Reflex latency reduction and Frame Generation, Intel XeSS upscaler, AMD FSR 3.0 upscaler with frame interpolation for PC players with higher-end GPUs. As not all of our players have the hardware to fully appreciate features like these, we were sure to add toggles for each.
Maintainability of EVERSPACE 2 and development of future content should go considerably smoother than if we had not migrated. As we shift to current tools, Unreal is better able to support our development needs as well. We can already see how the new tools and features of Unreal Engine 5, such as continued improvements to the Unreal Insights profiling analyzer, will speed work on upcoming expansion.
Lumen (pictured on right) helps natural surfaces to appear less faded in the harsh light of day.
Advice for Fellow Developers
Migrating engines is a daunting task, especially for a project that has already hit 1.0, and not to be taken lightly. For a game like ours that has a long lifespan of supported content ahead of it, we see the undertaking as worthwhile.
We found Lumen to be a feature well worth implementing into EVERSPACE 2, and it is significantly easier to do so than one might think. As we mentioned, in UE4 we used a combination of baked lighting and SSGI which meant that we built content in a specific way to support precomputed lighting with lightmaps UVs on each object. But, since Lumen is a dynamic lighting system, it plays well with the content we previously created using a different lighting solution. Lumen doesn’t care if the object was built for dynamic or pre-baked lighting, and this meant we needed to make very little adjustment to any content migrated to UE5.
Though our community is excited by the concept of the migration, we are keenly aware of the concerns expressed by players regarding performance issues. Running automated performance checks ahead of and at milestones during a migration will give a benchmark and indicators for optimization opportunities. This was an oversight we corrected soon into the project, and had to spend a considerable amount of time developing testing methodologies, adding support features for this to the game, and learning to work with the data produced. By seeking and solving performance-related issues early, we were able to address many factors that could affect player experiences.
Time is always a key factor. More issues will come up than expected, but despite the number of bugs created, most were minor and easy to fix. Making light of the work and being transparent with your community about the project being tackled can create ways for fans to appreciate the work being done.
Finally, the migration has brought significant attention to the game update attached to Unreal Engine 5. Press and partners are highly interested in the capabilities of the engine and the features it brings. As an independent studio, visibility is everything, and this is a surprising bonus to our efforts.
Industrial locations with many lighting sources and multiple types of hard surfaces step out of the shadows with Lumen enabled (pictured on right).
Conclusion
In the short term, the migration to UE5 has opened up opportunities for the addition of new features and to re-examine processes while implementing new features like Lumen and enabling plugins for the latest upscalers. Equally important, it gave the team an opportunity to learn about UE5 and its features as a benefit for upcoming projects. In the long term, we expect development of future EVERSPACE 2 content to be significantly smoother than if we did not undertake this project.
We have some minor optimization hurdles remaining to be solved, but we feel the implementation of Lumen and the migration to Unreal Engine 5 should be a success for the team and EVERSPACE 2.
Get Unreal Engine today!
Get the world’s most open and advanced creation tool.
With every feature and full source code access included, Unreal Engine comes fully loaded out of the box.
Get updates on industry innovations and the latest free assets for