Simple Electron app to duplicate VfxSystemDefinitionData entries in League of Legends files.
- Install Node.js (if not already installed)
- Open terminal in this folder
- Run:
npm install- Start the app:
npm start-
Click "Open File" and select your .py or .bin file
- VFX entries are detected automatically!
-
(Optional) Use the search bar to filter entries:
- Type keywords to find specific VFX
- Example: "Base", "Q_", "mis", etc.
-
Select the VFX entries you want to duplicate:
- Check individual boxes, or
- Click "Select All" to select everything, or
- Use search + "Select Visible" for filtered bulk selection
-
Enter the number of copies you want (1-10)
-
(Optional) Enable custom prefixes and enter custom names
-
(Optional) Enable "Separate Assets" to organize assets:
- Assets are automatically detected from your project's assets/ folder
- Tool searches up from your .py/.bin file to find the project root
- Enter a folder name for EACH copy (e.g., "FireVariant", "IceVariant")
- Each duplicate will use its own asset folder
- Assets will be detected and paths updated per copy
-
Click "Generate Duplicates"
-
Review the preview and detected assets (if enabled)
-
Click "Save Modified File" to save the configuration
-
(If assets enabled) Click "Copy Assets to Folder" to copy all asset files
- Assets are copied from your project's assets/ folder
- Copies are placed in assets/{folderName}/ next to your .py/.bin file
- Duplicates VfxSystemDefinitionData entries with _1, _2, etc. suffixes OR custom names
- Updates particleName and particlePath in each copy
- Adds entries to ResourceResolver
- Creates a randomizer emitter in the original VFX that randomly picks between all variants
- Auto-Detection on Load: VFX entries are automatically detected when you open a file
- Search Bar: Instantly filter VFX entries by typing keywords
- Bulk Processing: Select multiple VFX entries and process them all at once
- Smart Selection Controls:
- Select All / Deselect All
- Select Visible (select only filtered results)
- Custom Prefixes: Use custom suffixes like "_fire", "_ice" instead of "_1", "_2"
- Per-Copy Asset Separation:
- Each duplicate gets its own asset folder
- Automatically finds your project's assets/ folder
- Auto-detect all assets (textures, meshes, sounds)
- Update paths to organized folders per copy
- Physically copy assets to multiple variant folders
- Perfect for creating variants with different textures!
- Live Preview: See changes before saving
- Error Handling: Shows which entries succeeded and which failed
Input: Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof
Default mode (with 2 copies):
Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_1Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_2
Custom prefix mode (with custom names "fire", "ice"):
Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_fireCharacters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_ice
And adds a randomizer emitter to randomly select between all variants.