top of page
pattern2 tiny.jpg

Bathroom Stall Galactica Production Post #24

Writer: Logan SLogan S

Welcome back readers!


In this weekly installment of BSG Production, I kept pushing forward into technology I don't understand in pursuit of rendering Unreal Engine 5 on our school's Deadline farm.


When reading through the documentation on connecting Deadline to Unreal Engine, the steps themselves are pretty short and easy. However, my week of setup was anything but. The DAC IT coordinator and I worked together on this problem over the course of the week, and had to pull a ton of different resources online to try and fix the problems. The second step to installing the Deadline and Unreal connection, is to just add some plugins to Unreal's engine folder, and enable them in the project. Doing so however, was not so easy. Anytime we enabled the plugins and restarted Unreal, we would get an error that says "Unable to locate X plugin, please build through your IDE."


Okay, so what do we do to fix this problem. Well, we have to rebuild the plugin through use of coding. Following Unreal Engine's documentation, we installed Visual Studio 2022, set up all the preferences listed in the instructions, add the developer toolkits, and attempted to rebuild the Unreal Projects. And after all that, the builds would instantly fail. They would run for 15 seconds, fail to locate the plugin folder, and leave with exit code (6).


Getting nowhere with that, we followed YouTube tutorials on rebuilding Unreal Plugins with new versions using Command Line, with no success. We tried rebuilding the plugin in multiple different folders of the computer. We searched the Unreal and AWS forums with no luck, until eventually we reached out directly to AWS for help.


The solution unfortunately, was rather anti-climatic. In order to solve our problem, we simply needed to rebuild our unreal projects in Visual Studio Code, not Visual Studio, and have the plugins located in the project instead of the engine. After doing that, the plugins would rebuild, the project files would rebuild, and we could open them and use them in the project.


Hooray! Let's pop the champagne and celebrate! We did it! Now we can just follow the rest of the steps, and put this matter to bed!


If only it were that simple. See, the school's version of Deadline is 10.1, which is a bit older and out of date. The Unreal Engine plugins weren't working as flawlessly as they were advertised because they were intended for Deadline 10.3. So far, the most current iterations of Unreal Engine, such as 5.3.2, are not natively supported by Deadline 10.1. In fact, if you used the Deadline Monitor to submit the unreal jobs, Deadline doesn't even have the plugins set up for Unreal Engines greater than UE4. So naturally, despite following the steps listed in the documentation, we had new issues arise.


The first issue being that no matter how many different ways you set the frame range, the Deadline jobs would always be just frame 0. Now, this was an error that I had seen previously when rendering Terragen scenes on the render farm. The solution to that was typing %04d in the name of the output, as that is Terragen's token for rendering frame numbers with a padding of four. The challenge is, for Unreal, the token is typically denoted as {level sequence}.{frame number} for rendering. Which was still being used in all the places that the Deadline jobs were being submitted. Additionally, all the templates listed in the documentation online just typed in #-# and showed the deadline monitor rendering the specified range, so whatever bug we are experiencing isn't due to syntax.


The second issue is that the computers had startup issues for Deadline. We discovered that one labs worth of computers simply didn't have Unreal Engine installed correctly, and when you looked under the Engine folder for the .EXE file that runs Unreal, it was missing. So unless you manually opened Unreal on those computers through Epic Games Launcher, you couldn't open the program. Okay, that is not so bad, because that is just re-installing Unreal Engine. But what about the computers that did have the correct install of UE 5? Well, those computers would fail because a python script in the Deadline repository wouldn't run. So it circles back around to our Deadline being out of date again.


Being frank, this blog post sounds like a lot of whining and complaining, and I would be lying to say if this hasn't been one of the most stressful weeks of production for me. However, there are things that I am grateful for. For starters, the DAC IT guy has been a real gem to work with, super patient and helpful, and super invested in this problem with me. He was the one who managed to reach out to AWS and get the Visual Studio Code plugin rebuilds to work, and allowed us to actually submit Deadline jobs from Unreal Engine despite their problems.


The other thing I am grateful for is failure to get Deadline to work doesn't mean that we are completely incapable of rendering and succeeding long term. Yes, it would require a lot more work and baby-sitting to render things manually on computers, but years of thesis teams prior had no choice but to do it. Ideally, we would be able to innovate and set a precedent for future years that could enable Unreal Engine to be a more accessible tool for the DAC, but we wont turn up with no film if things aren't successful.


Finally, this has been a really insightful process into how Unreal works. I have really no major experience with scripting, coding, or any other software management. But by looking under the hood, I am beginning to understand what Unreal is really doing, from accessing its .ini files to what the engine needs to run executables. While I doubt I am anywhere close to coding anything new in Unreal, it is nice to know where to look when things start acting up.


Besides the work on the plugin, I have kept working on revising the fireflies and render issues in my Terragen zoom in shot. I layered another emission and base color map over the global map to add more resolution to the Earth, and added some rim lighting to the dark side of the planet to help contrast it with it's background. It still needs some more work on fixing its render bugs, but it was a nice break from all the other production concerns going on.


I hope that when I write again next week about production, that I will have good news and high quality renders to showcase from Deadline. As always, thank you so much for your time reading this, and until next time!





Commentaires


bottom of page