(Updated Nov. 30th, 2015)
(I have also made a reference post for snap point flags and snap point flag match groups.)
(Also, for anyone who simply wants a mod doing this, or wishes to see screenshots, I’ve uploaded one to the Steam Workshop.)
The awkward alignment of some of the building parts has bothered me for quite a while, and there isn’t much documentation about the snap points available (at least not that I’ve been able to find). So, I decided to muddle around in the dev kit and see if I could figure out how to make them align better on my own. I haven’t yet tried anything with thatch structures, but I suspect the exact same changes would be necessary.
All of this is written using ARK Dev Kit v224.5
Files that need to be modified:
First, I recommend copying these files to a folder in the Game > Mods directory, and only altering your mod copies. The only exception to this is the PrimalItemStructure files, which should be childed to the original files.
The main files that need to be altered are the structure blueprints:
Game > PrimalEarth > Structures > Thatch > Thatch_Floor
Game > PrimalEarth > Structures > Wooden > Ceiling_Wood_SM
Game > PrimalEarth > Structures > Wooden > Floor_Wood_SM_New
Game > PrimalEarth > Structures > Wooden > Pillar_Wood_SM_New
Game > PrimalEarth > Structures > Stone > Stone_Ceiling > Ceiling_Stone
Game > PrimalEarth > Structures > Stone > Stone_Floor > Floor_Stone
Game > PrimalEarth > Structures > Stone > Stone_Pillar > Pillar_Stone
Game > PrimalEarth > Structures > Metal > Ceiling_Metal
Game > PrimalEarth > Structures > Metal > Floor_Metal
Game > PrimalEarth > Structures > Metal > Wall_Metal
Additionally, stretching the pillar meshes slightly will make them fit better. They are located at:
Game > PrimalEarth > TestEfecto > Wood_Structure > Pillar > WoodPillar_Model
Game > PrimalEarth > Structures > Stone > Stone_Pillar
Game > PrimalEarth > TestEfecto > Metal_Structures > Pillar > SM_Pillar
Lastly, to make this into a working mod, you’ll need to copy a few more files.
Game > Mods > GenericMod > GenericMod
Game > Mods > GenericMod > PrimalGameData_BP_GenericMod
Game > Mods > GenericMod > TestGameMode_GenericMod
(I recommend renaming these three so that “GenericMod” is replaced with the name of your mod)
Game > PrimalEarth > CoreBlueprints > Engrams > EngramEntry_MetalCeiling
Game > PrimalEarth > CoreBlueprints > Engrams > EngramEntry_MetalFloor
Game > PrimalEarth > CoreBlueprints > Engrams > EngramEntry_MetalPillar
Game > PrimalEarth > CoreBlueprints > Items > Structures > Thatch > PrimalItemStructure_ThatchFloor
Game > PrimalEarth > CoreBlueprints > Items > Structures > Wooden > PrimalItemStructure_WoodCeiling
Game > PrimalEarth > CoreBlueprints > Items > Structures > Wooden > PrimalItemStructure_WoodFloor
Game > PrimalEarth > CoreBlueprints > Items > Structures > Wooden > PrimalItemStructure_WoodPillar
Game > PrimalEarth > CoreBlueprints > Items > Structures > Stone > PrimalItemStructure_StoneCeiling
Game > PrimalEarth > CoreBlueprints > Items > Structures > Stone > PrimalItemStructure_StoneFloor
Game > PrimalEarth > CoreBlueprints > Items > Structures > Stone > PrimalItemStructure_StonePillar
Game > PrimalEarth > CoreBlueprints > Items > Structures > Metal > PrimalItemStructure_MetalCeiling
Game > PrimalEarth > CoreBlueprints > Items > Structures > Metal > PrimalItemStructure_MetalFloor
Game > PrimalEarth > CoreBlueprints > Items > Structures > Metal > PrimalItemStructure_MetalPillar
Foundation to ceiling alignment:
This fix is rather simple, and can be done with only modifications to the foundation blueprints.
In each of the foundation blueprints, under the Structure section, the following snap points will need to be changed:
0 (“Front”)
4 (“Back”)
8 (“Right”)
12 (“Left”)
For each of these snap points, simply change Point Loc Offset’s Z value from 60 to 50 and ceilings will line up correctly when snapped to foundations. Note that foundations will still snap together correctly as well.
Pillar to ceiling alignment:
First, stretching the pillar meshes slightly will make them the same height as two walls, which greatly simplifies alignment when building. To do so, open the mesh file, and find the “LOD0” section in the Details panel. Expand the “Build Settings” category, and find the “Build Scale” entry. Change the Z value:
Wooden pillar: from 1.0 to 1.12
Stone pillar: from 1.0 to 1.05
Metal pillar: from 1.0 to 1.12
Now click outside the box, click the “Apply Changes” button at the bottom of the LOD0 section, and save the mesh file.
In the ceiling structure blueprints, the following snap points need to be changed:
15 (“CeilingToPillar”)
16 (“CeilingToPillarHanging”)
For snap point 15, change the Point Loc Offset’s Z value to 0.0
For snap point 16, change the Point Loc Offset’s Z value to -368.0
In the pillar structure blueprints, the Static Mesh must be changed to your altered mesh file.
Next, find the MyStaticMesh subsection of the Transform section. Change the Z value of the Location field to 185 for the wooden pillar, or 190 for the other pillars.
Additionally, the following snap points need to be changed:
4 (“PillarTop”)
6 (“PillarToPillarBottomAttachFrom”)
7 (“PillarToPillarBottom”)
8 (“PillarToCeilingBottom”)
For snap point 4 and 6, change the Point Loc Offset’s Z value to 368.0
For snap points 7 and 8, chance the Point Loc Offset’s Z value to 0.0
I also recommend changing snap points 0 through 3 (“Nothing”), which control the snapping of adjacent pillars. Changing the Point Loc Offset’s Z value to 0.0 will make them line up at the same height.
Optionally, you can also add a second set of ladder snap points. To do so, you will need to click the “+” button next to the Snap Points array four times to add the entries. Then, you will need to change the Point Loc Offsets for the existing ladder snap points to 15. Next, copy the information from the existing ladder snap points to the new blank entries exactly, but changing the Point Loc Offset’s Z value to 188. This will cause the upper ladder snap point to be in the exact same location as if you had used the lower ladder snap point and snapped an additional ladder above.
Making your changes into a functional mod:
To see these changes in-game, you will need to go through a few additional steps.
On your PrimalItemStructure files, you will need find the “Structure to Build” field (using the search bar will help), and change it to your modified structure blueprint.
On your EngramEntry files, update the Blue Print Entry field to your modified PrimalItemStructure file.
On your structure blueprints, you will need to find the Consumes Primal Item field (in the Structure section), and change it to your modified PrimalItemStructure file. Additionally, if you want it so that the structure can be picked back up without being destroyed, you can change the Pickup Gives Item field to also point to the modified PrimalItemStructure file; however, I don’t recommend doing this, as it is far too easy to accidentally pickup a piece of a base, potentially causing many more pieces to come crashing down.
On the GenericMod level file (or whatever you renamed it to), you will need to look in the World Settings tab, and find the Primal Game Data Override field. This will need to be changed to your PrimalGameData file.
Lastly, on the PrimalGameData file, you will need to set the Default Game Mode field to your TestGameMode file. You will then need to add all of your modified structure blueprints to the Additional Structures to Place array. Then, remap your PrimalItemStructure files using the Remap Items array; to do so, add an element for each PrimalItemStructure, pick the original game file for the “From Class” field, and pick your modified copy for the “To Class” field. Now, remap your EngramEntries using the Remap Engrams array, in the same way that you remapped the PrimalItemStructures.
Finally, you will need to cook your mod to make it usable in the game. Important: Make sure that you save all of your changes before cooking, as the cooking process does not take notice of any unsaved changes you have made!
To cook your mod, click the “Steam Upload” button above the level viewer. If you can’t see it, it was probably pushed off-screen to the right, in which case you can click the “>>” button to access it. Select your mod folder from the left-hand list, and then click “Cook Game Mod” on the right-hand side. This step may take a long time, depending on your computer and whether this is the first time you have cooked this mod.
When the mod has finished cooking, complete the “Uploading” section by selecting a picture for your mod, giving it a title and description, and setting its initial visibility (all of this can be changed later), then click the Upload button. You will be prompted for your Steam login credentials, and if you have SteamGuard active, you will also need to authorize the access to your account. After this step finishes, your mod should be uploaded to the Steam Workshop and ready to use.