Jump to content

r457

Members
  • Posts

    7
  • Joined

  • Last visited

Nexus Mods Profile

About r457

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

r457's Achievements

Rookie

Rookie (2/14)

1

Reputation

  1. Greetings everyone, We are Orange and Blue from Army of Two also known as r457 and gh057. We were getting several requests recently to explain how to mod Aliens: Dark Descent, so we set aside some time and put together this short guide on Unreal Engine 4 modding for games with no official mod support. It is not a step by step guide on how to make a mod. It's a general info on UE4 modding and where to look for information and tools. The most important part: to mod an UE4 game you need to know how UE4 works. And it means not just knowing which button to push in the editor. If you don't know anything about Unreal Engine, install it now and go check their knowledge base: https://dev.epicgames.com/community/unreal-engine/learning https://docs.unrealengine.com/4.27/en-US/ Complete all the beginner courses like First hour in Unreal Engine (doesn't matter that much at this point if it's UE4 or UE5). If you got errors, got stuck several times and had to resolve problems - that's good, it means you were actually learning something. When you feel confident with basic unreal data structure and core concepts, you can start looking into modifying an existing game. A good place to start is here: https://unreal-modding-library.github.io/dev-guide/ It should give you general understanding of the current modding capabilities as well as an ability to judge how moddable a game is. UE modding tools are in numbers, but many are situational. Some are useful for some games, some for the others. There are almost no universal solutions for each and every game (apart from texture extractors) - you will need to try everything yourself. Starting place: https://github.com/Buckminsterfullerene02/UE-Modding-Tools Most of the time you will start by unpacking the game. Quickbms is the most commonly used tool for that. You can also use native UE packer-unpacker. Some games might have custom serialization code. Some might use encryption. It's solvable, but you will need to search for it on the Internet yourself. If the game is using pak and not ucas/utoc and you only need to change some numbers, you might be able to do it easily with Asset Editor/UAssetGUI and UnrealPak. Again, if the game uses custom serialization, asset editors might fail and you will need to do it manually using tools like HxD. Everything else requires recreating a "dummy" project file for the game. If you learned about unreal packaging, you should realize by now that you don't actually need fully functioning sources (though modders wouldn't mind having them) - you need properly named references. It means you need definitions of custom classes, blueprints, etc and whatever is inside them. If you're trying to mod a popular game, chances are high someone will make such a project file available for the community in the first several days. If it's not the case, you will have to do it yourself. UE4SS and it's ability do dump classes and objects is your main tool here. Here's the relevant part of its documentation: https://ue4ss-re.github.io/docs/guides/generating-uht-compatible-headers.html For simple edits you might skip generating the full project and just manually create several c++ classes and blueprints you need containing only the variables and functions you intend to use. You might be thinking "but how do I know what the game is using?" and yes, that's the main problem of modding. For that you will need to learn UE4SS, read script dumps, read (often partially) decompiled assets with tools like FModel. It's a process of looking through game files, trying to understand what they do and how they all work together. At this point general programming knowledge and good UE knowledge will be invaluable. If you went the route of generating the whole UE project, keep in mind that the tools are not perfect and what they will give you won't compile. Your first step will be to go through all the c++ errors and resolve them one by one - Internet and UE dev forums are the place to look for help on those. Then your project will most probably give you errors when trying to package it - the process will be the same: one by one, searching for potential culprits and editing project files. Another step is actually getting your new code into the game. For that several methods exist - from dll hooks (unsafe for obvious reasons) to various native loaders. At this point you should understand such UE core concepts as game instance and game mode and how to set them up. In most cases you can change the reference to one of those core objects in the ini file of the game to your custom one which you will make as a child of the game specific one. Which one and what exactly to do will depend on the specifics of a game you're modding. And finally, when everything is working on your side you will need to make it usable by other people - i.e. think of an easy way of both mod users and mod creators to interface with your loader. Aliens: Dark Descent is a fairly standard UE game, so it wasn't that much pain to unpack and work with. It's ucas/utoc, so editing numbers in not a trivial task - it's easier (not easy) to recreate the whole data table and just repack it as a patch. You can view the game assets with FModel. UE4SS works too using standard definitions, so you can dump the headers and recreate the UE project. There are several compile errors, but they are solvable. Since we already made a loader and several mods, we did those steps. You can find project files, our loader and mods sources here: https://www.nexusmods.com/aliensdarkdescent/mods/7 So what are you still looking for, marines? A good picnic spot? Start reading and start writing some code! Army of Two 07/01/2023
×
×
  • Create New...