Observed since 21 Oct, 09:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Generates identity mods (a character's own model, written out as a mod) for 3DMigoto-based anime game mod loaders
Makes identity mods: a mod of a character that looks exactly like the character already does in the game.
An identity mod changes nothing you can see. It is the character's own model, textures and colours, written out as a mod folder. That makes it the perfect starting point for making your own mod, or for checking that a mod loader works.
A sub-project of Anime Game Remap (AG Remap).
| Albert Gold (Active Lead Maintainer) | |
| Game | Mod Loader | The word to type |
|---|---|---|
| GI | GIMI | gimi |
| WuWa | WWMI | wwmi |
[!TIP] Just want the mod? Every character's identity mod is already made for you in the Mods folder. That page also lists every character's name you can type below.
Choose your pick of which way to run it:
Mods folder.Double click on the script, and answer its two questions:
gimi for GI or wwmi for WuWa, then enterYelan), then enter. For several characters, put a space between their names. For every character, type all.A new folder with the character's name (eg. Yelan) appears beside the script, holding the mod. When the script says == Press ENTER to exit ==, press enter.
[!TIP] Copy the character's name as it is written in the Mods list. The new folder is named exactly as you typed it.
[!NOTE] The first run installs what the script needs (numpy, and AG Remap's API), so it takes a little longer. Later runs skip that.
python -m pip install -U AGIDMGen
then enter
( you can now run the program anywhere without copying a script! )
Mods folder and type the game's word, the character's name, then --download:python -m AGIDMGen gimi Yelan --download
then enter
( or type only python -m AGIDMGen, and it asks you, as in Choice A )
open cmd in that Mods folder and type python AGIDMGen.py, the game's word, the character's name, then --download.
eg. for Yelan in GI:
python AGIDMGen.py gimi Yelan --download
then enter
eg. for Sanhua in WuWa:
python AGIDMGen.py wwmi Sanhua --download
[!TIP]
- Want several characters? Put a space between their names:
python AGIDMGen.py gimi Yelan YelanTranquil --download- Want every character? Use
--allinstead of a name:python AGIDMGen.py gimi --download --all- Already have GI-Model-Importer-Assets or WWMI-Assets? Give the full path to the character's folder instead of its name, without
--download:python AGIDMGen.py gimi "C:\path\to\GI-Model-Importer-Assets\PlayerCharacterData\Yelan"
Tool developers can make identity mods within their own code!
Make sure you first install the module by typing into cmd:
python -m pip install -U AGIDMGen
import AGIDMGen as IDMG
import FixRaidenBoss2 as FRB # AG Remap's API: its logger works for both libraries
service = IDMG.IDModGenService(IDMG.ModLoaders.GIMI, names = ["Yelan", "YelanTranquil"], outputFolder = "Mods", logger = FRB.Logger())
service.generate()
print("Made:", sorted(service.stats.generated))
IDModGenService makes each mod into <outputFolder>/<name>, from download folders (names = [...]) or from asset
folders (assetsFolders = [...]). A character that fails does not stop the others: it is recorded in service.stats,
and nothing is printed unless you give it a logger.
In a server, give each request its own logger, and either read what it wrote afterwards or forward each line as it is written:
class ForwardingLogger(FRB.BaseLogger):
def write(self, message: str):
send_to_frontend(message) # eg. a websocket, a queue, a database row
def read(self, desc: str) -> str:
return "" # nothing interactive on a server
logger = FRB.Logger(logTxt = True, verbose = False) # or: ForwardingLogger()
service = IDMG.IDModGenService(IDMG.ModLoaders.GIMI, names = ["Yelan"], outputFolder = folder, logger = logger)
service.generate()
transcript = logger.loggedTxt
From asset folders:
service = IDMG.IDModGenService(IDMG.ModLoaders.WWMI, assetsFolders = ["WWMI-Assets/PlayerCharacterData/Sanhua"], outputFolder = "Mods")
service.generate()
One character, directly. Unlike the service, the generators raise an error when they fail:
mod = IDMG.GIMIIdentityModGenerator().generate("GI-Model-Importer-Assets/PlayerCharacterData/Yelan", "Mods/Yelan")
mod = IDMG.WWMIIdentityModGenerator().generateFromRepo("Sanhua", "Mods/Sanhua", version = "2.5")
print("\n".join(mod.getSummary()))
Every character with a download folder: IDMG.ModDownloader.getCharacters(IDMG.ModLoaders.GIMI)
Add these after the character's name. The Game column says which game has the option.
| Options | Game | Description |
|---|---|---|
| -h, --help | All | show the help message and exit |
| --download | All | the names typed are characters' names: download their files and make their mods from them |
| --all | All | with --download: make the mod of every character |
| --out folder | All | the folder the mods are made in, as <folder>/<name>. If this option is not specified, then the mods are made in the current folder. |
| --version str | All | with --download: the game version wanted, eg. 4.0. If this option is not specified, then the newest version is used. |
| --name str | All | the character's name inside the mod (one character only) |
| --log folder | All | also write everything printed into <folder>/IDModGenLog.txt |
| --quiet | All | print only errors |
| --proxy str | All | with --download: the link to the proxy server, for those whose internet access must go through a proxy |
| --downloadFolder folder | All | with --download: keep the downloaded files in <folder>/<name>. If this option is not specified, then they are deleted afterwards. |
| --localData REPO=folder | All | with --download: copy the files of AGRemap or AGIDMGen from a copy of its Data/Mod Downloads folder on your computer, instead of downloading them (can be given more than once) |
| --noFix | GI | leave the ORFix / NNFix lines out of the mod |
| --faceRegister str | GI | the slot the face texture is bound to. If this option is not specified, then ps-t0 is used (some 6.x skins need ps-t1). |
| --assetPrefix str | GI | what the asset folder's files start with, when that is not the folder's name (one asset folder only) |
| --textureFrom B=C:O[:plain|normalMap] | GI | part B, which has no textures of its own, uses object O of part C's textures, eg. Bang=Body:A (can be given more than once) |
| --author str | WuWa | the mod author WWMI shows. If this option is not specified, then Anime Game Remap is used. |
| --noTextures | WuWa | leave the textures out |
| --rawBones | WuWa | write bone indices as vg_offset + local index, instead of through the vg_map |
[!NOTE] The command ends with exit code 0 when every mod was made, 1 when one could not be (or the options are not valid), and 2 when a WWMI mod's shape keys do not match its
Metadata.json.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 11 Oct 2026 | 2 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 09:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:b322c9bc93d39cba7e2df2431071bf81bbac30bcf236e33e76eeea8eb2fed0dc