Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you make changes to Unreal's source? Or have middleware that makes changes (Havok and Fmod)?

Your effort estimates line up with mine, but I'm not sure about the ROI (but it's been a few years and I was pre-fortnite).

We made limited changes to Unreal source, but I think we made more changes than we had to. We had our middleware, we fixed bugs (none upstreamed via github due to company policy), but we also introduced new features varying from necessary for the project (instanced mesh rendering) to unnecessary (fancy logging). Every upgrade, I regretted most of the changes we made.

But also, it seems like every upgrade our data assets and blueprint script would get less stable and cause weird infrequent crashes in the blueprint/uscript interpreter.

Do you use bleeding edge features? I recall being wary of anything that hadn't been around for a few updates.



Yes, we make a significant number of changes to Unreal source, probably on the order of 1-3 per day across the team.

All changes to the engine are required to be wrapped with a special comment tag indicating the author and explanation of the change, so that it's evident in a 3-way merge window how to resolve if there's a conflict at engine-upgrade time.

At a previous company we used Enlighten and Simplygon both of which made changes to engine source, and those were a nightmare to deal with. We had several source branches set up specifically to deal with 3-way merging at all steps of the way.

We also implemented things like instanced skeletal meshes, an improved navigation system, and additional shader passes. Those were all very complex to upgrade especially when Epic had refactored the underlying systems.

We don't use features that are experimental in shipping code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: