From 2980f86f9fb97dae5534d0f10e23b7ca78e16c89 Mon Sep 17 00:00:00 2001 From: dobosken Date: Wed, 20 Dec 2023 18:23:53 +0100 Subject: [PATCH 1/2] proposed summary layout + condensing info dump --- src/SUMMARY.md | 50 ++++++++++++++++++++++----- src/getting-started/custom-project.md | 8 +++-- src/getting-started/final.md | 6 ---- src/getting-started/getting-unreal.md | 21 +++++++---- src/getting-started/installing.md | 12 ------- src/getting-started/packing.md | 8 ----- src/getting-started/ue4-assets.md | 18 ++++++++++ src/getting-started/using-unreal.md | 14 ++++---- src/testing-packing/final.md | 7 ++++ src/testing-packing/installing.md | 13 +++++++ src/testing-packing/packing.md | 9 +++++ 11 files changed, 115 insertions(+), 51 deletions(-) create mode 100644 src/getting-started/ue4-assets.md create mode 100644 src/testing-packing/final.md create mode 100644 src/testing-packing/installing.md create mode 100644 src/testing-packing/packing.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index f52ba60..3cb1dbb 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -4,16 +4,48 @@ # Getting Started -- [The right Unreal Engine build](getting-started/getting-unreal.md) -- [How to use Unreal Engine](getting-started/using-unreal.md) - - [Getting the project for your game](getting-started/custom-project.md) -- [Testing and distribution](getting-started/final.md) - - [Packaging your mod](getting-started/packing.md) - - [Installing your mod](getting-started/installing.md) +- [Installing Unreal Engine](getting-started/getting-unreal.md) +- [Starting the editor](getting-started/using-unreal.md) + - [Getting the project for your game](getting-started/custom-project.md)](getting-started/installing.md) + +# Mesh/Model Modding + +- [Extracting game models]() + - [Importing models into Blender]() + - [Exporting models into UE4]() + +# Texture/Color Modding + +# Mesh/Model Modding + +- [Extracting animations]() + - [Importing animations into Blender]() + - [Exporting animations into UE4]() + +# Particle Modding + +- [Particle structure]() + - [Particle editor]() + - [UassetGUI]() + +# Moveset Modding + +- [Intro to BBS]() + - [Character script structure]() + - [Advanced BBS]() + - [Per-game BBS info]() + - [Strive]() + - [DBFZ]() # UI Modding - [Applicable games](ui-modding/applicable.md) -- [UMG basics](ui-modding/umg.md) -- [Finding widgets](ui-modding/assets.md) -- [Common pitfalls](ui-modding/pitfalls.md) \ No newline at end of file + - [UMG basics](ui-modding/umg.md) + - [Finding widgets](ui-modding/assets.md) + - [Common pitfalls](ui-modding/pitfalls.md) + +# Packaging your mod + +- [Testing and distribution](testing-packing/final.md) + - [Packaging your mod](testing-packing/packing.md) + - [Installing your mod](testing-packing/installing.md) \ No newline at end of file diff --git a/src/getting-started/custom-project.md b/src/getting-started/custom-project.md index 9671f82..b4e23c8 100644 --- a/src/getting-started/custom-project.md +++ b/src/getting-started/custom-project.md @@ -1,6 +1,6 @@ # Getting the project for your game -As stated in the previous page, the prebuilt custom projects will make modding much easier. They provide all of the custom asset types the game supports, and for newer games, they even include many assets from the game, such as UI elements or data tables. +The prebuilt custom projects provide all of the custom asset types the game supports, and for newer games, they even include many assets from the game, such as UI elements or data tables. Below are download links for each game: @@ -10,9 +10,11 @@ Below are download links for each game: - [DNF Duel custom project](https://1drv.ms/u/s!ApT7KvOr_B0hgY3rUBgqs787KHi5_iY?e=xKuxrI) - [Granblue Fantasy Versus Rising custom project](https://drive.google.com/file/d/1aA1WYxkxpOUpNqSi5kANLUhh4Ja7A_4l/view?usp=drive_link) -Once you have downloaded the correct project, you will need to compile the project for your engine. This will require installing Visual Studio. +Once you have downloaded the correct project, extract it to your Unreal Projects directory. If you've run the editor before, you can usually find it at `Documents\Unreal Projects\`. + +You'll also need a working installation of Microsoft's Visual Studio in order for the editor to be able to compile the project. - Dragon Ball FighterZ requires Visual Studio 2017. - Guilty Gear -Strive-, DNF Duel, and Granblue Fantasy Versus Rising require Visual Studio 2019. -For more information, [read the official Unreal Engine documentation](https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/). \ No newline at end of file +For more information on how to set up Visual Studio for UE4, [read the official Unreal Engine documentation](https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/). \ No newline at end of file diff --git a/src/getting-started/final.md b/src/getting-started/final.md index 546b049..905615f 100644 --- a/src/getting-started/final.md +++ b/src/getting-started/final.md @@ -1,7 +1 @@ # Testing and distribution - -After your mod is cooked in Unreal Editor (or you finished editing assets with UAssetGUI), your mod is almost ready! But in order to easily test and distribute the mod, the files must first be packaged into a .pak file. Then, you'll need to distribute your mod in an installable format. This section will help you learn the following: - -- Packaging your mod -- Installing your mod -- Distributing your mod \ No newline at end of file diff --git a/src/getting-started/getting-unreal.md b/src/getting-started/getting-unreal.md index dda2fe7..513f0e5 100644 --- a/src/getting-started/getting-unreal.md +++ b/src/getting-started/getting-unreal.md @@ -1,10 +1,17 @@ -# The right Unreal Engine build +# Installing Unreal Engine -Unreal Engine 4 is a versatile engine, but sometimes the developer may need more than is originally provided. When this happens, the developer will modify UE4 to suit their needs. Arc System Works does this for all of their titles. As a result, we have to replicate their changes in order to make high quality mods. Mesh, particle, and shader replacements all require these changes. Luckily, there are public customized engines for every Unreal Engine version Arc System Works has used. +Arc System Works has customized various aspects of UE4 to suit their needs. -Below are download links to every custom engine version and its associated game(s): +This means that although we can install the plain vanilla UE4 and use that to make mods, we'd be missing on key features needed to make them work properly. Thankfully, Ryn has reverse-engineered several of these changes and implemented some of the key features we require into custom UE4 builds. -- Dragon Ball FighterZ uses [Unreal Engine 4.17](https://1drv.ms/u/s!ApT7KvOr_B0hy4ZgwT3lHcwhu3MVSA?e=cTrwqV). -- The original Granblue Fantasy Versus uses [Unreal Engine 4.21](https://1drv.ms/u/s!ApT7KvOr_B0hkPgWb5AjxrUapJcYmQ?e=79mVYA). -- Guilty Gear -Strive- and DNF Duel use [Unreal Engine 4.25](https://1drv.ms/u/s!ApT7KvOr_B0hkPgRVEhN1MsPEpnAeA?e=bPFdsf). -- Granblue Fantasy Versus Rising uses [Unreal Engine 4.27](https://drive.google.com/file/d/1SnX9rcMxeHP82GojHocdLUux2Sa0qZG1/view?usp=sharing). \ No newline at end of file + + +Download links below. Just pick the one matching the game you wish to mod. Note that the exact version is important; you cannot do things like use UE4.27 to mod DBFZ. + +| Game | Engine | +| ----------------------------- | -------------------------------------------------------------------------------------------------------- | +| Dragon Ball FighterZ | [Unreal Engine 4.17](https://1drv.ms/u/s!ApT7KvOr_B0hy4ZgwT3lHcwhu3MVSA?e=cTrwqV) | +| Guilty Gear \-Strive\- | [Unreal Engine 4.25](https://1drv.ms/u/s!ApT7KvOr_B0hkPgRVEhN1MsPEpnAeA?e=bPFdsf) | +| DNF Duel | [Unreal Engine 4.25](https://1drv.ms/u/s!ApT7KvOr_B0hkPgRVEhN1MsPEpnAeA?e=bPFdsf) | +| Granblue Fantasy Versus | [Unreal Engine 4.21](https://1drv.ms/u/s!ApT7KvOr_B0hkPgWb5AjxrUapJcYmQ?e=79mVYA) | +| GranBlue Fantasy Verus Rising | [Unreal Engine 4.27](https://drive.google.com/file/d/1SnX9rcMxeHP82GojHocdLUux2Sa0qZG1/view?usp=sharing) | \ No newline at end of file diff --git a/src/getting-started/installing.md b/src/getting-started/installing.md index 86d1e01..0dde954 100644 --- a/src/getting-started/installing.md +++ b/src/getting-started/installing.md @@ -1,13 +1 @@ # Installing your mod - -Once your mod is packaged, you currently have two options for installing it: - -1. Using Unverum. Press "Add Mods" at the top-right, then click "Create New Mod." Give it any name you wish, and after pressing Confirm, find the .pak you made in the previous step. Now, once you press Launch at the top-center, your mod will be used in-game. This method's main advantages are easy management of mods, and .sig files are generated for you. The main disadvantage is that Unverum is somewhat clunky by comparison to mod managers used by other communities, and a decent number of people choose to not use it altogether. - -2. Manual installation. Navigate to your game's Steam installation directory, then to RED\Content\Paks. Create a new folder inside Paks with name `~mods` (remember the ~ symbol, it is important). You may now put the previously generated .pak inside this folder. The final step is to take a .sig file from the game's Paks folder, copy it into `~mods`, and rename it to have the same name as your mod. As an example, if you have a mod named `LabcoatSol.pak` for Guilty Gear -Strive-, you would take `pakchunk0-WindowsNoEditor.sig` from the Paks directory, copy it into `~mods`, and rename it to `LabcoatSol.sig`. - -
- -If you are modding Granblue Fantasy Versus: Rising (*not* the original Granblue Fantasy Versus), you will need to add `-fileopenlog` to the Steam launch options for the game. **Otherwise, your mods will not work.** [Here is the official Steam documentation on launch options.](https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955) - -
\ No newline at end of file diff --git a/src/getting-started/packing.md b/src/getting-started/packing.md index 46176ea..9d464f3 100644 --- a/src/getting-started/packing.md +++ b/src/getting-started/packing.md @@ -1,9 +1 @@ # Packaging your mod - -First: the prerequisites. In order to package your mod, the folder hierarchy must follow the rule of `ModName\RED\Content\`, with the rest of the hierarchy matching the asset's original path. - -As an example, if I am modding the asset sol_body in folder `RED\Content\Chara\SOL\Costume01\Mesh` and the mod is named LabcoatSol, I would need to have sol_body in `LabcoatSol\RED\Content\Chara\SOL\Costume01\Mesh`. Then, put sol_body.uasset *and* sol_body.uexp in that folder. - -Then, you need a tool to package the mod. There is only one option I recommend for this: [Epic Games' own Unreal Pak tool](https://drive.google.com/file/d/1erwPVaAWp_9S0JzeM0aMR_NfHIcU6a4Z/view?usp=sharing). This specific version of Unreal Pak works on all Arc System Works games, though I can't guarantee it works on *all* Unreal Engine games. - -Actually packaging your mod is quite simple: simply drag the mod folder onto the `UnrealPak-With-Compression.bat` file. It should spit out a file with the same name as the mod folder, but with the .pak extension. \ No newline at end of file diff --git a/src/getting-started/ue4-assets.md b/src/getting-started/ue4-assets.md new file mode 100644 index 0000000..9671f82 --- /dev/null +++ b/src/getting-started/ue4-assets.md @@ -0,0 +1,18 @@ +# Getting the project for your game + +As stated in the previous page, the prebuilt custom projects will make modding much easier. They provide all of the custom asset types the game supports, and for newer games, they even include many assets from the game, such as UI elements or data tables. + +Below are download links for each game: + +- [Dragon Ball FighterZ custom project](https://drive.google.com/file/d/1-wjbe0aE4Xs8S7AunSB0XtAE-sSZsOnW/view?usp=sharing) +- The original Granblue Fantasy Versus does not have a custom project. +- [Guilty Gear -Strive- custom project](https://1drv.ms/u/s!ApT7KvOr_B0hgcnnF_wKrCaxCVbm8yg?e=SAufMR) +- [DNF Duel custom project](https://1drv.ms/u/s!ApT7KvOr_B0hgY3rUBgqs787KHi5_iY?e=xKuxrI) +- [Granblue Fantasy Versus Rising custom project](https://drive.google.com/file/d/1aA1WYxkxpOUpNqSi5kANLUhh4Ja7A_4l/view?usp=drive_link) + +Once you have downloaded the correct project, you will need to compile the project for your engine. This will require installing Visual Studio. + +- Dragon Ball FighterZ requires Visual Studio 2017. +- Guilty Gear -Strive-, DNF Duel, and Granblue Fantasy Versus Rising require Visual Studio 2019. + +For more information, [read the official Unreal Engine documentation](https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/). \ No newline at end of file diff --git a/src/getting-started/using-unreal.md b/src/getting-started/using-unreal.md index a931119..2a255f4 100644 --- a/src/getting-started/using-unreal.md +++ b/src/getting-started/using-unreal.md @@ -1,11 +1,13 @@ -# How to use Unreal Engine +# Starting the editor -After downloading the custom Unreal Engine build, you may be wondering how to use it. If you are on version 23H2 of Windows 11, the operating system will be able to decompress the archive file itself. Simply right-click the file and click Extract All from the context menu. +Extract all of the contents from the custom UE4 archive you downloaded in the previous step. You can use tools like [WinRAR]([https://www.win-rar.com/](https://www.win-rar.com/)) or [7-Zip](https://www.7-zip.org) to do so. -If you are on an older version of Windows, you will need third-party software like [WinRAR](https://www.win-rar.com/) to extract the file. A guide for extracting files with WinRAR can be found [here](https://www.win-rar.com/open-rar-file.html?&L=0). +Once that is complete, you can fire up the engine with `.\Engine\Binaries\Win64\UE4Editor.exe` -The extraction process will take a while, especially depending on your hardware. For best results, you should use a solid state drive to store your Unreal Engine build. +**You do not need the Epic Launcher for this.** -Once that is complete, open the folder in File Explorer, and navigate to Engine\Binaries\Win64. Find the UE4Editor executable and run it. When running it for the first time, it will take a while to compile shaders. If you're unsure why Unreal is taking so long to open, open Task Manager and check the process for high CPU usage, or look for ShaderCompileWorker processes within it. These two are proof of compiling shaders. +
-Once Unreal finishes initializing, you will be met with the Project Browser menu. While you could create your own project from scratch, this is not recommended. Arc System Works uses many custom asset types that require custom prebuilt projects to use. The next page will go into more detail. \ No newline at end of file +The first boot of the UE4 editor usually takes a while to get going. If you want to check whether it's actually starting or not, open Task Manager (ctrl+shift+esc) and check for high CPU usage. This usually means it's busy compiling shaders. + +Once Unreal finishes initializing, you will be met with the Project Browser menu. While you could create your own project from scratch, we highly recommend starting off with one of the [premade custom projects.](custom-project.md) \ No newline at end of file diff --git a/src/testing-packing/final.md b/src/testing-packing/final.md new file mode 100644 index 0000000..546b049 --- /dev/null +++ b/src/testing-packing/final.md @@ -0,0 +1,7 @@ +# Testing and distribution + +After your mod is cooked in Unreal Editor (or you finished editing assets with UAssetGUI), your mod is almost ready! But in order to easily test and distribute the mod, the files must first be packaged into a .pak file. Then, you'll need to distribute your mod in an installable format. This section will help you learn the following: + +- Packaging your mod +- Installing your mod +- Distributing your mod \ No newline at end of file diff --git a/src/testing-packing/installing.md b/src/testing-packing/installing.md new file mode 100644 index 0000000..86d1e01 --- /dev/null +++ b/src/testing-packing/installing.md @@ -0,0 +1,13 @@ +# Installing your mod + +Once your mod is packaged, you currently have two options for installing it: + +1. Using Unverum. Press "Add Mods" at the top-right, then click "Create New Mod." Give it any name you wish, and after pressing Confirm, find the .pak you made in the previous step. Now, once you press Launch at the top-center, your mod will be used in-game. This method's main advantages are easy management of mods, and .sig files are generated for you. The main disadvantage is that Unverum is somewhat clunky by comparison to mod managers used by other communities, and a decent number of people choose to not use it altogether. + +2. Manual installation. Navigate to your game's Steam installation directory, then to RED\Content\Paks. Create a new folder inside Paks with name `~mods` (remember the ~ symbol, it is important). You may now put the previously generated .pak inside this folder. The final step is to take a .sig file from the game's Paks folder, copy it into `~mods`, and rename it to have the same name as your mod. As an example, if you have a mod named `LabcoatSol.pak` for Guilty Gear -Strive-, you would take `pakchunk0-WindowsNoEditor.sig` from the Paks directory, copy it into `~mods`, and rename it to `LabcoatSol.sig`. + +
+ +If you are modding Granblue Fantasy Versus: Rising (*not* the original Granblue Fantasy Versus), you will need to add `-fileopenlog` to the Steam launch options for the game. **Otherwise, your mods will not work.** [Here is the official Steam documentation on launch options.](https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955) + +
\ No newline at end of file diff --git a/src/testing-packing/packing.md b/src/testing-packing/packing.md new file mode 100644 index 0000000..46176ea --- /dev/null +++ b/src/testing-packing/packing.md @@ -0,0 +1,9 @@ +# Packaging your mod + +First: the prerequisites. In order to package your mod, the folder hierarchy must follow the rule of `ModName\RED\Content\`, with the rest of the hierarchy matching the asset's original path. + +As an example, if I am modding the asset sol_body in folder `RED\Content\Chara\SOL\Costume01\Mesh` and the mod is named LabcoatSol, I would need to have sol_body in `LabcoatSol\RED\Content\Chara\SOL\Costume01\Mesh`. Then, put sol_body.uasset *and* sol_body.uexp in that folder. + +Then, you need a tool to package the mod. There is only one option I recommend for this: [Epic Games' own Unreal Pak tool](https://drive.google.com/file/d/1erwPVaAWp_9S0JzeM0aMR_NfHIcU6a4Z/view?usp=sharing). This specific version of Unreal Pak works on all Arc System Works games, though I can't guarantee it works on *all* Unreal Engine games. + +Actually packaging your mod is quite simple: simply drag the mod folder onto the `UnrealPak-With-Compression.bat` file. It should spit out a file with the same name as the mod folder, but with the .pak extension. \ No newline at end of file From d1d4bd880024fd5ee122377b65ff0d81ae632a17 Mon Sep 17 00:00:00 2001 From: dobosken Date: Wed, 20 Dec 2023 19:44:35 +0100 Subject: [PATCH 2/2] add chapter folding --- book.toml | 4 ++++ src/SUMMARY.md | 51 +++++++++++++++++++++++++++----------------------- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/book.toml b/book.toml index 9e0e03f..87664d6 100644 --- a/book.toml +++ b/book.toml @@ -4,3 +4,7 @@ language = "en" multilingual = false src = "src" title = "Arc System Works Modding Book" + +[output.html.fold] +enable = true # whether or not to enable section folding +level = 0 # the depth to start folding diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 3cb1dbb..78e79ae 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -6,46 +6,51 @@ - [Installing Unreal Engine](getting-started/getting-unreal.md) - [Starting the editor](getting-started/using-unreal.md) - - [Getting the project for your game](getting-started/custom-project.md)](getting-started/installing.md) + - [Custom UE4 project](getting-started/custom-project.md)](getting-started/installing.md) +- [Required tools]() +- [Loose file loading]() -# Mesh/Model Modding +# Creating your mod -- [Extracting game models]() +- [Mesh/Model]() + - [Extracting game models]() - [Importing models into Blender]() - [Exporting models into UE4]() + - [Setting materials and outline]() -# Texture/Color Modding +- [Texture/Color]() -# Mesh/Model Modding - -- [Extracting animations]() +- [Animations]() + - [Extracting animations]() - [Importing animations into Blender]() + - [Altering animations in Blender]() - [Exporting animations into UE4]() + - [Checking animations in-game]() + - [Adding entirely new animations]() -# Particle Modding - -- [Particle structure]() +- [Particles]() - [Particle editor]() - [UassetGUI]() -# Moveset Modding - -- [Intro to BBS]() - - [Character script structure]() +- [Moveset]() + - [Extracting BBS]() + - [Understanding BBS]() + - [Importing BBS]() - [Advanced BBS]() - - [Per-game BBS info]() + - [Per-game BBS specifics]() - [Strive]() - [DBFZ]() -# UI Modding - -- [Applicable games](ui-modding/applicable.md) +- [UI Modding]() + - [Applicable games](ui-modding/applicable.md) - [UMG basics](ui-modding/umg.md) - [Finding widgets](ui-modding/assets.md) - [Common pitfalls](ui-modding/pitfalls.md) -# Packaging your mod - -- [Testing and distribution](testing-packing/final.md) - - [Packaging your mod](testing-packing/packing.md) - - [Installing your mod](testing-packing/installing.md) \ No newline at end of file +# Distributing your mod + - [Creating a .pak archive]() + - [Packaging your mod](testing-packing/packing.md) + - [Installing your mod](testing-packing/installing.md) + - [Unverum compatibility]() + - [Text patching]() + - [Uploading to Gamebanana]()