ArchiveXL
Adding stuff to the game, for the major-leagues
Summary
Published in August 23 by mana vortex
OK, so what is this?
ArchiveXL (nexus | github) is one of the core frameworks of Cyberpunk 2077 modding. Together with TweakXL, It allows you to add things to the game, such as
world sectors
custom lipsync maps
This page will document how to set item properties via tags & suffixes (the vanilla way), or via dynamic switching (new, cool, version >= 1.5).
Let's dive right in.
Variants and suffixes
What are variants, what do I need them for?
When adding items, you will normally offer multiple mesh appearances (variants), for example, the same shirt in black, white, and red. This is what you're modding for, after all: making cool things.
And what are suffixes?
Sometimes, you want to load different meshes/appearances under different circumstances. Until ArchiveXL 1.5, the process was extremely tedious, but thanks to psiberx, suffixes have been replaced with conditions (read up on dynamic variants to learn how to make use of that).
While the solution has changed (and improved), the problem remains:
Body genders
There are two body genders with different proportions, and you can't make them wear the same shirt (at least not without clipping). To solve that, you can do what CDPR did and have one variant per rig.
Body types
On top of that, you can add body mods (mostly chest size, but occasionally full refits). Starting with 1.5, these will be supported by ArchiveXL! That means, no more compatibility archives, since AXL can simply load different meshes for you…
Camera modes
Sometimes, you need to hide parts of the item in first person. – for example helmets, since you don't want to have half a helmet floating in front of your face (unless you consider that immersive; most people don't).
Tags
Tags are a way to tell Cyberpunk that an item has certain properties and should behave in a certain way. Thanks to ArchiveXL's extended tag system, you can for example force flat feet for female V, or un-hide hair from a head item.
You can find a list of tags in ArchiveXL's readme.
Dynamic variants
If you have ever tried to make ten colour variants of an item for two body genders with four different states of feet, then you're familiar with the struggle. Version 1.5.0 of ArchiveXL solves this problem by introducing dynamic variants, allowing you to define rules to hook up your yaml straight to the mesh entity. picking components and even appearances dynamically.
You can find the technical (usage) documentation for dynamic variants on ArchiveXL's github.
You have to use a mesh entity for dynamic variants, as components in the .app file will be ignored.
Here's an overview of how the dynamic variants work. By comparison, this is the old diagram. Especially for multiple items, the new way is much faster.

Last updated