
You are viewing a potentially older version of this package. View Latest Version

Custom Texture Replacer lets you swap any in-game texture in TCG Card Shop Simulator at runtime. Drop your own PNG assets in the BepInEx/plugins/CustomTextures folder and the plugin will discover, resize if needed, and inject them without restarting the game. It is fully compatible with Thunderstore Mod Manager and r2modman.
BepInEx/plugins/CustomTextures for new or updated .png files and reapplies changes automatically.BepInEx/plugins/TexturesList.txt and SpritesList.txt, a living index of every texture name sprite and resolution discovered in the current session.BepInEx/plugins/CustomTextureReplacer.debug.log) for troubleshooting texture discovery and swap events.CustomTextureReplacer.dll ends up in BepInEx/plugins/CustomTextureReplacer.TCG Card Shop Simulator/
BepInEx/
plugins/
CustomTextureReplacer/
CustomTextureReplacer.dll
BepInEx/plugins/TexturesList.txt, containing every discovered texture name and resolution.F8 in-game or create an empty BepInEx/plugins/CustomTextures.dump.now file to regenerate the list at any time.BepInEx/plugins/TexturesList.txt and locate the texture you want to override..png). Matching the resolution listed is strongly recommended.BepInEx/plugins/CustomTextures.BepInEx/plugins/CustomTextures.refresh.now.Tip: When the replacement PNG resolution differs, the plugin attempts a RenderTexture resize so the swap still succeeds. For best quality, export PNGs at the exact dimensions shown in
TexturesList.txt.
BepInEx/LogOutput.log and to BepInEx/plugins/CustomTextureReplacer.debug.log.Edit BepInEx/config/com.duckieray.cardshop.customtextures.cfg after the first run:
| Setting | Default | Description |
|---|---|---|
LogNewTextureNames |
true |
Logs the names and resolutions of textures discovered during runtime scans. |
LogAssetLoads |
true |
Logs when Unity Resources or AssetBundle APIs load textures or sprites, useful for tracking dynamic assets. |
FolderPriorityMode |
LastModified |
Controls how duplicate texture names across multiple CustomTextures folders are resolved (LastModified, PreferredFolder, or FolderOrder). |
PreferredFolderHint |
(blank) | When using PreferredFolder, provide folder names or path fragments (separated by ;, ,, or ` |
Changes take effect immediately; you do not need to restart the game.
CustomTextureReplacer/replace.py is a cross-platform helper that batch-copies images from any folder into CustomTextures, renaming them to match entries in TexturesList.txt. It solves the repetitive work of matching filenames and supports both Windows and Linux installs.
python replace.py <source_folder> from inside CustomTextureReplacer/.TexturesList.txt, filters textures by size (default 819x1024), shuffles your images, and drops them into BepInEx/plugins/CustomTextures with the correct names.--size WIDTHxHEIGHT, --dump path/to/TexturesList.txt, or --output path/to/CustomTextures to override defaults. Add --seed <number> for reproducible shuffles.TexturesList.txt and that the file lives directly inside BepInEx/plugins/CustomTextures.TexturesList.txt to avoid relying on the automatic resize.BepInEx/plugins/CustomTextureReplacer.debug.log and BepInEx/LogOutput.log for warnings; attach them when reporting issues.