[Solved] I'm at a loss trying to add custom assets

Bob423

Chieftain
Joined
Mar 30, 2016
Messages
10
I can't seem to get *any* art assets working at all except the custom district I added (which just reuses the Holy Site models). Icons, Fallbacks (I use textures for everything), nothing. I have the artdefs, the XLPs, the Atlas's, the TEXs, Mod.Art, Did FrontEnd and BackEnd Actions in Modinfo, tried to just import the files directly, I've looked through all the tutorials and tried everything I could think of, examining every letter and character in every text file multiple times, and yet my assets and icons won't show up.
I originally followed an old tutorial that apparently is obsolete now that seemed to get my art assets working, but the game crashed as soon as I tried to do anything in-game and I couldn't find any issues with the code, so I tried to remake everything from the ground up rather than copy/pasting so much. I've looked at how every other working mod does it and still there's just something wrong I'm not seeing. I've also tried using multiple tools besides the Asset Editor (Sukritact's Civ VI ArtDef Editor, Hemmelfort's Modding Assistant, and thecrazyscot's ModArt Generator)

I have no clue where to begin with showing code without just uploading the whole project, so I guess there's my ModArt file? Let me know if you need to see more

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects..GameArtSpecification>
    <id>
        <name text="Embers Cuddle Kingdom"/>
        <id text="3e1cfb12-4057-4832-879f-1d7de438eff6"/>
    </id>
    <artConsumers>
        <Element>
            <consumerName text="Units"/>
            <relativeArtDefPaths>
                <Element text="Units.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="Unit"/>
                <Element text="VFX"/>
                <Element text="Light"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Clutter"/>
            <relativeArtDefPaths>
                <Element text="Clutter.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="Landmark"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Landmarks"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="CityBuildings"/>
                <Element text="TileBase"/>
                <Element text="RouteDecalMaterial"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Farms"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="TileBase"/>
                <Element text="CityBuildings"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="GameLighting"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="ColorKey"/>
                <Element text="GameLighting"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_Properties"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_Sprite"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="StrategicView_Sprite"/>
                <Element text="StrategicView_DirectedAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_Route"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="StrategicView_Route"/>
                <Element text="StrategicView_DirectedAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_TerrainType"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="StrategicView_TerrainBlend"/>
                <Element text="StrategicView_TerrainBlendCorners"/>
                <Element text="StrategicView_TerrainType"/>
                <Element text="StrategicView_DirectedAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_TerrainBlendCorners"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="StrategicView_TerrainBlendCorners"/>
                <Element text="StrategicView_DirectedAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_TerrainBlend"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="StrategicView_TerrainBlend"/>
                <Element text="StrategicView_DirectedAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Terrain"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="TerrainAsset"/>
                <Element text="TerrainElement"/>
                <Element text="TerrainMaterial"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="WorldViewRoutes"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="RouteDecalMaterial"/>
                <Element text="RouteDoodad"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="UI"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="UITexture"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="FOW"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="FOWSprite"/>
                <Element text="FOWTexture"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="WonderMovie"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="WonderMovie"/>
                <Element text="TileBase"/>
                <Element text="GameLighting"/>
                <Element text="ColorKey"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="UILensAsset"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="OverlayTexture"/>
                <Element text="UILensAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Overlay"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="OverlayTexture"/>
                <Element text="UILensAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="VFX"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="VFX"/>
                <Element text="Light"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Water"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="Water"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="ColorKeys"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="ColorKey"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Camera"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="CameraAnimation"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Terrains"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Features"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Civilizations"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Cultures"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Resources"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="UITexture"/>
            </libraryDependencies>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Improvements"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="WorldView_Translate"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="StrategicView_Translate"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Audio"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
                <Element text="Units.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="LeaderLighting"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="LeaderLighting"/>
                <Element text="ColorKey"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Leaders"/>
            <relativeArtDefPaths>
                <Element text="LeaderBackground.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="Leader"/>
                <Element text="LeaderLighting"/>
                <Element text="ColorKey"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="LeaderFallback"/>
            <relativeArtDefPaths>
                <Element text="LeaderFallbacks.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="LeaderFallback"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Lenses"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="IndirectGrid"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="AOSystem"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="GenericObject"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Wave"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="Wave"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="DynamicGeometry"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="DynamicGeometry"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="UIPreview"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="SkyBox"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="SkyBoxTexture"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="Minimap"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="UnitSimulation"/>
            <relativeArtDefPaths/>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
        <Element>
            <consumerName text="RangeArrows"/>
            <relativeArtDefPaths/>
            <libraryDependencies>
                <Element text="OverlayTexture"/>
                <Element text="UILensAsset"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
    </artConsumers>
    <gameLibraries>
        <Element>
            <libraryName text="CityBuildings"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="ColorKey"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="DynamicGeometry"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="FOWSprite"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="FOWTexture"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="GameLighting"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="Landmark"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="Leader"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="LeaderFallback"/>
            <relativePackagePaths>
                <Element text="LeaderFallbacks"/>
            </relativePackagePaths>
        </Element>
        <Element>
            <libraryName text="LeaderLighting"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="Light"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="OverlayTexture"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="RouteDecalMaterial"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="RouteDoodad"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="SkyBoxTexture"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_DirectedAsset"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_Route"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_Sprite"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_TerrainBlend"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_TerrainBlendCorners"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="StrategicView_TerrainType"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="TerrainAsset"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="TerrainElement"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="TerrainMaterial"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="TileBase"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="UILensAsset"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="UITexture"/>
            <relativePackagePaths>
                <Element text="LeaderBackground"/>
            </relativePackagePaths>
        </Element>
        <Element>
            <libraryName text="Unit"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="VFX"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="Water"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="Wave"/>
            <relativePackagePaths/>
        </Element>
        <Element>
            <libraryName text="WonderMovie"/>
            <relativePackagePaths/>
        </Element>
    </gameLibraries>
    <requiredGameArtIDs>
        <Element>
            <name text="Civ6"/>
            <id text="cb2f71b7-843e-4af3-9ca7-992acda9c195"/>
        </Element>
    </requiredGameArtIDs>
</AssetObjects..GameArtSpecification>
 
I've never once seen that mentioned and never thought about it. Probably missed something >.<

Code:
Starting AssetCooker...
Argument '--shaders' has been deprecated and is no longer used.
XLP cook starting...
D:\Documents\Firaxis ModBuddy\Civilization VI\Ember Civ\Ember Civ\XLPs\LeaderFallbacks.xlp
Opened output file: D:\Documents\My Games\Sid Meier's Civilization VI\Mods\Ember Civ\Platforms\MacOS\BLPs/LeaderFallbacks.blp    For XLP: 'D:\Documents\Firaxis ModBuddy\Civilization VI\Ember Civ\Ember Civ\XLPs\LeaderFallbacks.xlp'
Could not load digest key: ''.  Using mod key to sign BLP.
Starting 'LeaderFallbacks'
Load finished for: 'LeaderFallbacks' in 0.015 seconds
Cook finished for: 'LeaderFallbacks' in 0.000 seconds
Disk write finished for: 'LeaderFallbacks' in 0.098 seconds
Cleanup finished for: 'LeaderFallbacks' in 0.003 seconds
XLP cook completed with success.
Cook completed in 0.135 seconds

This is all that's in there when I build the solution.
 
Can you share the full ModBuddy project/solution?

I can try and take a look for you. I wonder if it is something as fundamental as image file format/compression.
 
The full ModBuddy project would be useful for us to maybe find what is causing the problem.
i think Its not enough information by now. The problem could be everywhere, one of us need to take a look in order to being able to help you.
 
Will take a look as soon as possible. Maybe someone else is able to look into your project before i can do.
 
Well damn. Not sure how that didn't get generated automatically or how I missed it. Thanks! That fixed the icons...mostly. They're blue now lol. Had this issue before, but forgot how it was fixed. I tried double checking the dds format, but maybe the .tex files are wrong?

edit: Tried swapping "PF_R8G8B8A8_UNORM" out for "PF_B8G8R8A8_UNORM", which is apparently the right one maybe? (and the format I saved images in this time) and it didn't do it.
Hopefully I don't have to separate the icons. Having them all in one atlas is so handy with how the scaling works
 
Last edited:
The two leader icons and the fireplace. Red and blue channels are swapped and the civ's icon doesn't change color properly

edit: Is there something besides the Asset Editor I can use for .tex files? It keeps trying to create dds files automatically which is really annoying, especially when it glitches out and gets stuck in a loop
 
edit: Is there something besides the Asset Editor I can use for .tex files? It keeps trying to create dds files automatically which is really annoying, especially when it glitches out and gets stuck in a loop

CivNexus6 can be used to bulk create the .dds/.tex pairs from dds or other image formats. Recommend starting with dds though.
 
I tried that and can't seem to figure out how to use it. It doesn't open dds files and texconv.exe doesn't open. It says there's dlls missing and I know I have Visual C++ 2017
edit: Also did the regedit stuff ofc

edit2: Found it under "Further actions". I didn't look hard enough lol
edit3: It still doesn't work. It just says "Failed!" under Current File Info and no option is working. I also can't figure out what asset class I should be using or what DSG is >.<
 
Last edited:
For the textures, are you sure you exported the .dds as ABGR8 format with no compression, via GIMP? that always works for me. and that the texture have a size like 512x512 or 1024x1024, or also possible: 512x256 or 1024x512 for instance? The point is not having sizes like 338x287 for instance...
 
Definitely. The sizes are 1920x1080 for the background, 1250x1500 for the Fallbacks, and 1280x256 for the icon atlas
 
Okay, then i will download your project later and we will see if i find something.
 
I tried that and can't seem to figure out how to use it. It doesn't open dds files and texconv.exe doesn't open. It says there's dlls missing and I know I have Visual C++ 2017
edit: Also did the regedit stuff ofc

edit2: Found it under "Further actions". I didn't look hard enough lol
edit3: It still doesn't work. It just says "Failed!" under Current File Info and no option is working. I also can't figure out what asset class I should be using or what DSG is >.<

For the texture conversion to work you need to have Microsoft Visual C++ Redistributable 2017 installed.

https://www.itechtics.com/microsoft...inks/#Microsoft_Visual_C_Redistributable_2017

This is mentioned in the installation instructions FWIW.

For Texture import only the Texture Class matters the other dropdowns can be ignored.
 
I understand all of that and did it as far as I know before posting about it.
 
so i did take a look now.

-In LeaderBackground.artdef it is: <m_BLPPackage text="LeaderBackgrounds"/>
but it should be this: <m_BLPPackage text="LeaderBackground"/>
cause in your xlp and your mod-art.xml you referenced the entry "LeaderBackground", not "LeaderBackgrounds" but the leader image still doesnt work. You need to try several things yourself and take a look into mods which do the same (adding a 2D Leader). I think it could be only an issue with the artdefs or xlp or the entries/references in your mod art xml

-All Textures exported via GIMP, just used ABGR8 format with no compression, and the icons ingame are no longer blue. I even not had to make the tex files again. Just export the dds files via GIMP, as mentioned before (ABGR8, no compression) and then it should work fine.
 
Thanks a ton! I guess gimp is the only thing that works properly when it comes to that. Tried everything *but* gimp this time (paint.net for example) cuz converting everything in that got a bit tedious and that's what messed me up apparently.
Now all that's left is getting the fallback image to show up in the main menu, but that seems like an issue with modinfo or something. Regardless, I can probably do that easily. Feel kinda dumb it was something so simple lol
 
Back
Top Bottom