Art Assets in Civilization 6: A Modding Guide

The adjustment bone is not being reflected in Asset Previewer for me. The settings in the transform panel in Asset Previewer on how I want it to be is (Scale: X: 100, Y: 100, z: 100)(Rotate: Z: -35)(Coordinates/Position: X: -5, Y: -35, Z: 0). Explain exactly how I am suppose to do this please. I tried a lot of different combinations, but nothing shows up. First I tried just insert adjustment bone with rescale factor 100. Then I tried to insert adjustment bone with rescale factor 100, then add scaled bone with parent set to adjustment bone. But neither did anything.

Spoiler CivNexus6 Adjustment Bone Controls :

The steps would be:

1) Backup your model .fgx file.
2) Open your .fgx file.
3) Set Rescale Factor to 100.
4) Click "Insert Adjustment Bone and Save"
5) Set Rotation Angle to -35 and Rescale Factor to 1.
6) Click "Insert Adjustment Bone and Save"
7) Click "Create Geometry/Animation (.geo/.anm) File" to regenerate the .geo file.
8) Copy your updated model.fgx and the .geo file you've just regenerated into your Modbuddy Geometries folder. I'd advise doing this by overwriting the existing files in File Explorer rather than using the Modbuddy folders.
9) Important: Close the Asset Editor and reopen it to make sure any cached data is refreshed.
10) Reopen your asset in the Asset Previewer - the model should now be rescaled and rotated as per the new adjustment bones.

CivNexus6 doesn't allow repositioning with Adjustment Bones yet, but I have made that change locally and can release this weekend.
 
Last edited:
got every unit Icon finsihed and working now, except of the Icons shown at the Screen, when you choose a civ and a leader. cant get those Icons to work ingame by now...DEliverator you have those Icons working in your MOAR UNits Mod...maybe you can help me here once again ?
i mean the Icons in my painted red circles on this Image

You need to do the UpdateIcons and UpdateArt actions in both the FrontEndActions database (used for the Config screens) and the InGameActions (used in the main game).

Your resulting .modinfo should look like this:
Code:
<FrontEndActions>
  <UpdateIcons id="MOARMacPerConfigIcons">
    <File>Data/Even_MOAR_Units_MacedonPersia_Icons.xml</File>
  </UpdateIcons>
<UpdateArt id="MOARMacPerConfigArt">
  <File>MoarMacedonAndPersia.dep</File>
</UpdateArt>
....
</FrontEndActions>

<InGameActions>
  <UpdateIcons id="MOARMacPerIcons">
    <File>Data/Even_MOAR_Units_MacedonPersia_Icons.xml</File>
  </UpdateIcons>
  <UpdateArt id="MOARMacPerArt">
    <File>MoarMacedonAndPersia.dep</File>
  </UpdateArt>
...
<InGameActions>

And another Thing, deliverator i ask you for permission to use the Unit Icon of your sohei from Moar Units Mod...Hope you Allow Me to use this Icon.

I'm fine with that, but credit for that should go to @janboruta.
 
The steps would be:

1) Backup your model .fgx file.
2) Open your .fgx file.
3) Set Rescale Factor to 100.
4) Click "Insert Adjustment Bone and Save"
5) Set Rotation Angle to -35 and Rescale Factor to 1.
6) Click "Insert Adjustment Bone and Save"
7) Click "Create Geometry/Animation (.geo/.anm) File" to regenerate the .geo file.
8) Copy your updated model.fgx and the .geo file you've just regenerated into your Modbuddy Geometries folder. I'd advise doing this by overwriting the existing files in File Explorer rather than using the Modbuddy folders.
9) Important: Close the Asset Editor and reopen it to make sure any cached data is refreshed.
10) Reopen your asset in the Asset Previewer - the model should now be rescaled and rotated as per the new adjustment bones.

CivNexus6 doesn't allow repositioning with Adjustment Bones yet, but I have made that change locally and can release this weekend.

Thanks, that worked. Also, i noticed that you can reposition it in Blender.

Spoiler Scaled/Rotated in CivNexus6, Repositioned in Blender :

upload_2017-9-7_8-12-59.png



Now, on to getting it to show up in game. I loaded a game up and it still shows the giant red exclamation mark, so time to go look at all the other files associated with this Asset. I'm guessing since my model is now displaying properly in Asset Previewer, I can rule out any problems with my .mtl / .ast / .geo / .tex / .dds / .fgx / GeometrySet.xml / ...speaking of the GeometrySet.xml, that does not have to be anywhere in the InGame Actions, like the .xlp file, right? And I could just add my 3D Model's .xlp code in to my existing .xlp file that I made for my icons, instead of created a separate one, right? I could also probably rule out my ArtDefs because I had thrown in a base game building before I made my own and I got that to show up in game. And all I had to change was the Asset field under BuildingVariants in Landmarks.artdef to my asset. So, if I am not mistaken, that leaves my .xlp and my Mod.Art.xml that would more than likely have an issue, right?
 
So for my Mod.Art.xml, parts regarding the 3D Asset, I got...
Code:
<!-- ... -->       
       <Element>
            <consumerName text="Landmarks"/>
            <relativeArtDefPaths>
                <Element text="Landmarks.artdef" />
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="CityBuildings"/>
                <Element text="TileBase"/>
                <Element text="RouteDecalMaterial"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
<!-- ... -->
        <Element>
            <libraryName text="TileBase"/>
            <relativePackagePaths>
                <Element text="landmarks/hero_buildings"/>
                <Element text="landmarks/tilebases"/>
            </relativePackagePaths>
        </Element>
<!-- ... -->
And for my .xlp, parts regarding the 3D Asset, I got...
Code:
<!-- ... -->
    <m_ClassName text="TileBase"/> <!-- type of Asset to go in this library package -->
    <m_PackageName text="landmarks/hero_buildings"/> <!-- name of resulting .blp package file -->
    <m_PackageName text="landmarks/tilebases"/>
    <m_Entries>
        <Element>
            <m_EntryID text="BUILDING_ESO_MAGES_GUILD"/> <!-- The entry to be referenced from .artdefs -->
            <m_ObjectName text="DIS_CTY_ESO_MagesGuild"/> <!-- Refers to Asset .ast file -->           
        </Element>
    </m_Entries>   
<!-- ... -->

Am I missing anything, or have something wrong?
 
Am I missing anything, or have something wrong?

hero_buildings.xlp and tilebases.xlp need to be separate files. JFD's Italy mod has a working example of this with the Duomo building:

hero_buildings.xlp:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects:XLP>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_ClassName text="TileBase"/>
    <m_PackageName text="landmarks/hero_buildings"/>
    <m_Entries>
        <Element>
            <m_EntryID text="DIS_THR_JFD_Duomo"/>
            <m_ObjectName text="DIS_THR_JFD_Duomo"/>
        </Element>
    </m_Entries>
    <m_AllowedPlatforms>
        <Element>WINDOWS</Element>
        <Element>LINUX</Element>
        <Element>MACOS</Element>
    </m_AllowedPlatforms>
</AssetObjects:XLP>

tilebases.xlp:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects:XLP>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_ClassName text="TileBase"/>
    <m_PackageName text="landmarks/tilebases"/>
    <m_Entries>
        <Element>
            <m_EntryID text="DIS_THR_CLA_DUOMO_Base01"/>
            <m_ObjectName text="DIS_THR_CLA_DUOMO_Base01"/>
        </Element>
...
 
so my Unit Icons working fine now, all of them. only want to tell you that the Problem was wrong entries in the UnitsConfig.xml for the Icons.
 
Thanks, that worked. Also, i noticed that you can reposition it in Blender.

Yeah, adjusting it in Blender works too!

Now, on to getting it to show up in game. I loaded a game up and it still shows the giant red exclamation mark, so time to go look at all the other files associated with this Asset. I'm guessing since my model is now displaying properly in Asset Previewer, I can rule out any problems with my .mtl / .ast / .geo / .tex / .dds / .fgx / GeometrySet.xml

That's right.

...speaking of the GeometrySet.xml, that does not have to be anywhere in the InGame Actions, like the .xlp file, right?

Right. The GeometrySet.xml is only for use within the .ast file.

So, if I am not mistaken, that leaves my .xlp and my Mod.Art.xml that would more than likely have an issue, right?

Yes, likely the .xlp files or Mod.Art.xml are where the remaining problem is.
 
Last edited:
@Deliverator i got....a Problem, what else and Need your help another time...when i Export this model, and after Import into Civnexus 6 some parts of the model are deformed. dont know why would be great if you could take a look. Image of what it Looks like in FGX Viewer is attached.
the File : https://www.mediafire.com/file/0p5f86pxdhin26r/Himeji.rar

HimejiTest.png
 
I have some problems with icons.
when I imported the dds file, I see such an error.

EDIT
Solution found.
Sorry for the post.
It was necessary to put the right class (UserInterface)

 

Attachments

  • Rifleman_icon80.7z
    1.2 KB · Views: 61
Last edited:
I have some problems with icons.
when I imported the dds file, I see such an error.

EDIT
Solution found.
Sorry for the post.
It was necessary to put the right class (UserInterface)

Glad you found the solution. Technically this thread is for 3D art assets rather than 2D art assets.

@Deliverator i got....a Problem, what else and Need your help another time...when i Export this model, and after Import into Civnexus 6 some parts of the model are deformed. dont know why would be great if you could take a look. Image of what it Looks like in FGX Viewer is attached.
the File : https://www.mediafire.com/file/0p5f86pxdhin26r/Himeji.rar

I had a quick look and I'm not sure what the issue is, but this model is *far* too complex for this game. It has 128,000 triangles which is ~10 times more than the most complex Wonders in the game. All the fiddly details are going to invisible and it could impact performance. I suggest you try with a lower polygon model.
 
ok, thank you again. Thanks to god I have a similar lower polygon model.
 
hero_buildings.xlp and tilebases.xlp need to be separate files. JFD's Italy mod has a working example of this with the Duomo building:

hero_buildings.xlp:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects:XLP>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_ClassName text="TileBase"/>
    <m_PackageName text="landmarks/hero_buildings"/>
    <m_Entries>
        <Element>
            <m_EntryID text="DIS_THR_JFD_Duomo"/>
            <m_ObjectName text="DIS_THR_JFD_Duomo"/>
        </Element>
    </m_Entries>
    <m_AllowedPlatforms>
        <Element>WINDOWS</Element>
        <Element>LINUX</Element>
        <Element>MACOS</Element>
    </m_AllowedPlatforms>
</AssetObjects:XLP>

tilebases.xlp:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects:XLP>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_ClassName text="TileBase"/>
    <m_PackageName text="landmarks/tilebases"/>
    <m_Entries>
        <Element>
            <m_EntryID text="DIS_THR_CLA_DUOMO_Base01"/>
            <m_ObjectName text="DIS_THR_CLA_DUOMO_Base01"/>
        </Element>
...

Still showing the giant red exclamation mark. I took a look at JFD's mod and double checked my two .xlp files and mod.art against his. One thing I noticed different is that he actually created his own "Base" tilebase. I'm just trying to use the monument's tile base do you think this is my problem? Do I have to create my own "Base"?

Spoiler tilebases.xlp :

Code:
<?xml version="1.0" encoding="utf-8" ?>
<AssetObjects:XLP>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_ClassName text="TileBase"/>
    <m_PackageName text="landmarks/tilebases"/>
    <m_Entries>
        <Element>
            <m_EntryID text="BUILDING_ESO_MAGES_GUILD"/> <!--My Building Name in ArtDef-->
            <m_ObjectName text="DIS_CTY_Monument_Base"/> <!--The Base Game TileBase I Got Assigned to my Building in ArtDef-->
        </Element>
    <m_AllowedPlatforms>
        <Element>WINDOWS</Element>
        <Element>LINUX</Element>
        <Element>MACOS</Element>
        <Element>IOS</Element>
    </m_AllowedPlatforms>
</AssetObjects:XLP>
 
I got it working.

The problem was that my scaling/re-positioning changes was not being reflected in-game, even though it was showing up in Asset Previewer with the scaling/re-positioning changes. It took me a while to figure out since the building was simply inside the palace building so I could not see it there. I pretty much just went through every possibility until I figured it out. I fixed it by doing my scaling/re-positioning in Blender. I must have did something wrong in CivNexus6 with the adjustment bones. I don't know, I am just happy I finally got it working.

I found out that the obstruction profile is what keeps the smaller buildings, when dealing with the city center district, from spawn on and phasing through your building. Not sure how to properly make a custom one though.

As far as the tilebase asset file, mine is just empty right now, so I am not sure what it is for. My guess is to display geometry and animations while under construction, and/or to have the land where it is being built look cleared out with building material lying around, am I right?
 
Last edited:
Does anyone have any advice for getting started on simple reskins of buildings? I am trying to do a mod that adds more worship buildings by simply reskinning the existing ones. However, I have absolutely no idea where to start, even after reading this guide multiple times. Can anyone explain to me like I'm 5 what to do to get started?

I have experience making new units and whatnot from mixing and matching the existing assets, but nothing like this.
 
BEHOLD, the culmination of my work!
Spoiler ScreenShot :

upload_2017-9-10_1-45-9.png


I know, not as impressive as other peoples buildings, but its my building.
And here is the outline of the steps I went through to make it happen. (*Note that its just an general outline, not a tutorial)
Spoiler 3D ART ASSET OUTLINE FOR BUILDINGS :

3D ART ASSET OUTLINE FOR BUILDINGS
Special Thanks: FurionHuang, Deliverator, sukritact, lasttry
1) Blender (Using Cyles Render)
- Create 3D Model (must be triangulated)
- Mark Seams (Ctrl + E => "Mark Seam")
- Add a Bone (Add => Armature => Single Bone)
- Add Vertex Group (In Edit mode for your 3D Model, select entire 3D Model, in the properties menu, under Object Data, then under Vertex Groups, add new vertex group and click Assign)
> Or is there is already a vertex group called Bone under Vertex Groups, just make sure your whole mesh is selected in edit mode and click Assign.
- Assign Bone to your 3D Model (In Object mode select 3D Model, then hold shift and select bone, then press Ctrl + P and select "With Automatic Weights")
- Create a Material for each type of materials you will have on your 3D Model
- Assign each Material to the corresponding faces of your 3D Model
- Get or Create PBR textures (PBR stands for Physically-Based Rendering)
> You will need an Albedo and a Normal, bare minimum, but the more you use, the better it will look
> Get PBR textures from the internet (Just google search free PBR textures. Examples: <www.textures.com> & <www.poliigon.com>)
> Create PBR textures
- Assign PBR textures to Materials using Nodes
- Fix any scaling/position issues with textures (Note that I use Generated Texture Coordinate and Mapping Nodes for this)
- Create UV Map (In edit mode press U = > Unwrap)
- Pack Islands (In UV Map Editor press Ctrl + P)
- Create a "New Blank Image" in UV Map Editor
- Create an unattached Texture Image Node in the Node Editor of each material with the "New Blank Image" as the texture file, and with this node as only selected node
- Bake your textures to your UV map
> Albedo = Diffuse (Color)
> Ambient Occlusion = Ambient Occlusion
> Glossiness = Gloss
> Normal Map = Emit (*Requires Special Node Setup through the Emission shader)
> Metalness = Emit (*Requires Special Node Setup through the Emission shader)
- Delete all Materials, Create one Material, Assign your Baked UV Map Textures to the Material using Nodes
- Export Blender project to .cn6 format
2) Gimp (or Paint.NET)
- Export all of your Baked UV Map Textures to .dds format
> Gimp: Format RGBA8, Uncompressed, With Mipmaps
> Paint.NET: Format B8G8R8A8, Uncompressed, With Fant Mipmaps
3) CivNexus6
- Import the .cn6 file you exported from Blender
- Set Class under Additional Actions tab to: LandmarkModel
- Click Save (it will save it as a .fgx)
- Under Additional Actions tab, click [Create GeometrySet .xml for .ast file] (Creates GeomertySet.xml file)
- Under Additional Actions tab, click [Create Geomerty/Animation (.geo/.anm) File] (Creates .geo if the open .fgx file is a 3D Model, or a .anm if the open .fgx file is an Animation.)
4) Windows File Explorer
- Copy and paste all the files you just made in CivNexus6 in to the Geometries folder in your ModBuddy Project (normally all to the same folder )
> You should have a .geo, .fxg, and a .xml file
- Go to (Sid Meier's Civilization VI SDK Assets/pantry/Assets) folder
- Copy and paste a building asset in to the Asset folder in your ModBuddy Project and rename it the same name as your .fgx file.
> So for example you can use DIS_CTY_AW_Monument.ast
- Copy and paste a building "_Base" asset in to the Asset folder in your ModBuddy Project and rename it the same name as your .fgx file followed by "_Base".
> So for example you can use DIS_CTY_Monument_Base.ast
5) AssetEditor in ModBuddy
- Create Texture files, click New, then Texture (creates .tex file and a copy of the .dds in your project folder)
> Albedo (Class Name: Generic_BaseColor) => (Path: ".dds file name") => (Save)
> Normal (Class Name: Generic_Normal) => (Path: ".dds file name") => (Save)
> Ambient Occlusion (Class Name: Generic_AO) => (Path: ".dds file name") => (Save)
> Metalness (Class Name: Generic_Metalness) => (Path: ".dds file name") => (Save)
> Glossiness (Class Name: Generic_Gloss) => (Path: ".dds file name") => (Save)
- Create Material file, click New, then Material (creates .mtl file in your project folder) (you will make one for every Material you had in Blender)
> Name: "whatever you named your material in blender"
> Class Name: Landmark
> Under Cook Parameters, then under Value, for each entry click Add Existing, and Add correct .tex files you created to corresponding Value
> Save
- Create ArtDefs: Buildings.artdef and Landmarks.artdef
> Click New, then ArtDef, then for Art Definition Template choose "Buildings" (this will become the Buildings.artdef)
~ On Building, right click, select Add Element (Name: "Your buildings name from ModBuddy")
~ On StrategicView, right click, Add Element, Add 3 Elements (State: "UnderConstruction", "Pillaged", and "Completed", one type for each element) (XrefName: "a predefined base game element that corresponds to the State")
~ Save
> Click New, then ArtDef, then for Art Definition Template choose "Landmarks" (this will become the Landmarks.artdef)
~ On HeroBuildingTags, right click, select Add Element (Name: "Your buildings name from ModBuddy")
~ On Districts, right click, select Add Element (Name: "Exact name of the district your building will be in")
~ On BaseVariants, right click, select Add Element (Set_HeroBuildings: "Your building name in ModBuddy") (Asset: "choose random base game asset for now, but remember what you chose")
~ On BuildingVariants, right click, select Add Element (Tag_HeroBuildings: "Your building name in ModBuddy") (Asset: "choose random base game asset for now, but remember what you chose")
~ On BuildingSets, right click, select Add Element (Name: "Your building name in ModBuddy") (Element: "Select Your building name from the drop down menu")
~ Save
7) ModBuddy
- From project's Solution Explorer panel, right click, Add => Existing Item, add all of the files that are in the Geometries, Assets, Materials, Textures, and ArtDefs folders
> You are adding all the files you have created up until now
- Open your model's .ast file, do a Find and Replace for all of the following (enter file names without file extentions)
> Change m_Name field to what you renamed the .ast file
> Change m_GeoName field to the name of your .geo file
> Change m_ObjectName field under AssetObjects::ObjectValue element to the name of your .mtl file
> Change m_GroupName field to whatever you named your material in Blender/CivNexus6
> Change m_MeshName to whatever you named your mesh in Blender/CivNexus6
> The Find and Replace above should have gotten these, but check and make sure they were changed:
~ Change Element under m_Geometries to the name of your .geo file
~ Change Element under m_Materials to the name of your .mtl file
~ Change Element under m_Name to the name of the .ast file
> Under the m_CookParams section, make following changes:
~ Clear m_ObjectName text field from the element with a m_ParamName of Obstruction Profile
~ Clear m_ObjectName text field from the element with a m_ParamName of AO
~ Set m_bValue to true from the element with a m_ParamName of Obstruction Profile AutoGenerate
> Delete all other geometry
- Open your "_Base" .ast file, do a Find and Replace for all of the following (enter file names without file extentions)
> Change m_Name field to what you renamed the "_Base" .ast file
> Under the m_CookParams section, make following changes:
~ Clear m_ObjectName text field from the element with a m_ParamName of Obstruction Profile
~ Clear m_ObjectName text field from the element with a m_ParamName of AO
~ Set m_bValue to true from the element with a m_ParamName of Obstruction Profile AutoGenerate
* If you used DIS_CTY_Monument_Base.ast this is all you have to do since this has no geomerty in it, if the one you used has geometry the go through and delete it
- Open your Landmarks.artdef file
> Search for the random base game asset you put under BaseVariants for the Asset entry when you created the ArtDef, replace with your _Base.ast file name.
> Search for the random base game asset you put under BuildingVariants for the Asset entry when you created the ArtDef, replace with your .ast file name.
- Create .xlp files with "correct coding"
> A hero_buildings.xlp and a tilebases.xlp
> hero_buildings.xlp with your 3D Model's .ast file name, and tilebases.xlp with your _Base.ast file name
- Create and/or Edit Mod.Art.xml with correct relativeArtDefPaths and libraryDependencies
> You will need to add elements under consumerName Landmark and StrategicView_Sprite, and libraryName TileBase
- Project Properties => In-Game Actions
=> ImportFiles (All your .dds, .tex, .geo, .fgx, .mtl, .ast, and any other art files you created.)
=> UpdateArt ((Mod Art Dependency File), Buildings.artdef, and Landmarks.artdef)
- Click File => Save All => Click Build => Build Project
*You do not need to add .xlp files, or the GeometrySet.xml to the Project Properties In-Game Actions
*Your .blp files are auto generated from your .xlp files, and your .dep file is also auto generated from your Mod.Art.xml at build time.
8) Troubleshoot (Asset Editor/Blender/ModBuddy)
- Open your model's .ast file, make sure your model is displaying properly in the Asset PreViewer panel
- If you can't see your model in Asset PreViewer, then there could be something wrong with your .ast file or any other file associated with it
- If you see it, but it is not the correct size or in the correct position, then its back to Blender to scale/rotate/repostion
> Then export to .cn6, do the same steps in CivNexus6, and copy/paste/replace the .fgx, .geo, and .xml to your Geometries folder in your ModBuddy Project
- Then open back up in Asset Editor to see if it is now correct
- If it is the start game up and see if it displays properly in game, if not, then there could be something wrong with your .xlp files, or Mod.Art.xml file, or .artdef files, or Project Properties
- Troubleshoot
 
Does anyone have any advice for getting started on simple reskins of buildings? I am trying to do a mod that adds more worship buildings by simply reskinning the existing ones. However, I have absolutely no idea where to start, even after reading this guide multiple times. Can anyone explain to me like I'm 5 what to do to get started?

I have experience making new units and whatnot from mixing and matching the existing assets, but nothing like this.

I am still fairly new at all this so you might want to wait until one of the other guys confirms this, but to change the textures on a building (reskin the building), that would have to do with the materials file (.mtl) of that building which tells the game which texture files to use. However you can't just bring up the materials file for base game assets and start swapping out textures in Asset Editor. You can however copy/paste/rename art files from the pantry to reuse them.

So, if your wanting to take a base game building and put your own textures on it , you would need to copy a .geo file form Sid Meier's Civilization VI SDK Assets/pantry/Geometries, paste it on your desktop or something, load it in to Blender, and go through the normal steps on adding a 3D Art Asset to the game minus creating your own 3D Model (mesh). You can make new UV textures, which would be the "skin" of the model per-say, in Blender.
 
Does anyone have any advice for getting started on simple reskins of buildings? I am trying to do a mod that adds more worship buildings by simply reskinning the existing ones. However, I have absolutely no idea where to start, even after reading this guide multiple times. Can anyone explain to me like I'm 5 what to do to get started?

I have experience making new units and whatnot from mixing and matching the existing assets, but nothing like this.

Here's a high level overview that @ChimpanG posted elsewhere.
 
So, if your wanting to take a base game building and put your own textures on it , you would need to copy a .geo file form Sid Meier's Civilization VI SDK Assets/pantry/Geometries, paste it on your desktop or something, load it in to Blender, and go through the normal steps on adding a 3D Art Asset to the game minus creating your own 3D Model (mesh). You can make new UV textures, which would be the "skin" of the model per-say, in Blender.

To do a reskin of a base game graphical asset you don't need to copy the Geometry .geo file - that can be reused from the pantry. What you do need to copy and rename is the Material .mtl file. You also don't need to use Blender at all to do 2D texturing. You can just load the original .dds textures into Gimp, Photoshop or Paint.NET, do the reskin, save the file, import as a Texture in the Asset Editor and then update the link in your new .mtl.
 
BEHOLD, the culmination of my work!

Congratulations! I know it is a real mission getting your head around all this stuff so well done. :goodjob:

Some feedback on some of the points in your outline.

- Mark Seams (Ctrl + E => "Mark Seam")

I've never used Mark Seams so it isn't essential to the process. I guess is something you can use to achieve a certain look for your model in Blender.

> You will need an Albedo and a Normal, bare minimum, but the more you use, the better it will look

Only the Albedo or Base texture is essentially. You can just use a 4x4 texture of RGB 255,128,128 for a completely flat normal map. I've added several assets where the only non plain texture is the base and they can look fine - especially if the shading, balance of dark/light and saturation match the levels of other assets.

- Pack Islands (In UV Map Editor press Ctrl + P)

Again I've never used this so I don't believe it is essential to the process.

- Create a "New Blank Image" in UV Map Editor
- Create an unattached Texture Image Node in the Node Editor of each material with the "New Blank Image" as the texture file, and with this node as only selected node
- Bake your textures to your UV map
> Albedo = Diffuse (Color)
> Ambient Occlusion = Ambient Occlusion
> Glossiness = Gloss
> Normal Map = Emit (*Requires Special Node Setup through the Emission shader)
> Metalness = Emit (*Requires Special Node Setup through the Emission shader)
- Delete all Materials, Create one Material, Assign your Baked UV Map Textures to the Material using Nodes

As I've said there is no need to use Blender to make your textures - you can use Gimp 2, Paint.NET or Photoshop to make your .dds files.
 
Top Bottom