Cogito, ergo sum
Legacy:Set Up Package Folders
This is a Category:Legacy Basic Procedure tutorial page. It explains how to perform a single procedure which is required in many different contexts.
The first step in making mods or creating any sort of script that will be compiled into a .U file (a package) is setting up package folders. This is just a small hierarchy of folders within your game's Base Directory. Source code (UC files) and resources such as textures and models go into these folders. The Unreal Engine compiler, Ucc, will then know to make them into the final package that the game can then execute.
The main folder
This folder must be inside your game Base Directory, and the name of this must match the name of your eventual package. For example,
- {Base Directory}\YourModPackage
When Ucc compiles, it will know that this folder must be used to make YourModPackage.U from what it finds inside the folder.
Choose a name for your package that clearly describes your project.
Sub-folders
Within this folder, you need subfolders, one for each type of resource. If you don't have any of a particular resource, you don't need the folder.
- {Base Directory}\YourModPackage\Classes
- This is the directory that should hold all of your UC files. This is mandated by the compiler itself. Your code will not be built if you use anything else.
- {Base Directory}\YourModPackage\Textures
- This directory should be used to hold any HUD textures, object skins, and other graphics used by your mod.
- {Base Directory}\YourModPackage\Models
- This is where you put the *.3d files for any meshes your classes import and use.
- {Base Directory}\YourModPackage\Sounds
- This directory should be used to store any custom sounds used by your mod.
It is advisable to store a copy of your mod's INT file in the {Base Directory}\YourModPackage directory for safekeeping.
Conclusion
When you are finished, you should have a folder tree like this:
YourModPackage
Classes
Textures
Models
Sounds
Some other game directory
etc...
Related Topics
Discussion
SuperApe: Not sure where this "tip" should go, but I noticed that package names matter. A reference to a texture in FOO.utx can bork from an actor in FOO.u because the base name of the package is the same. Specifically, this was a gameinfo screenshot reference and I had to change the texture package name to FOOtex.utx before the gameinfo actor could see the screenshot. Other textures referenced from the main package worked fine, but the gameinfo screenshot was problematic.