Skip to content

Mod Creation

UniversalShift edited this page May 23, 2025 · 11 revisions

RoForge Mod and Texture Pack Creation Guide

THIS TUTORIAL WAS MADE BY AI BECAUSE I'M TOO LAZY.

Welcome to the RoForge mod and texture pack creation guide! This guide shows you how to create mods and texture packs for the RoForge app, which enhances Roblox with custom FastFlags and file replacements. RoForge supports a global mod system, letting you use mods across all modpacks. We'll cover two examples: a mod using FastFlags to tweak gameplay and a texture pack replacing a Roblox texture.

Prerequisites

  • RoForge App: Installed and set up to manage modpacks.
  • Text Editor: For editing JSON (e.g., VS Code, Notepad++).
  • Image Editor: For creating icons or textures (e.g., GIMP, Canva).
  • Zip Tool: To package mods (e.g., 7-Zip or built-in OS zipping).
  • Icon: A 64x64 PNG (e.g., a lightning bolt for optimization mods).

Mod Creation Basics

Mods and texture packs are packaged as .zip files with a mod_config.rfmod JSON file and an optional icon.png. The mod_config.rfmod defines:

  • name: Mod name (e.g., "Performance Boost").
  • type: Either "mod" (FastFlags) or "texture" (file replacements).
  • conflicts: Array of mod names that conflict (usually empty).
  • fast_flags: JSON object of FastFlags (for mods, e.g., FPS unlock).
  • replace_files: Array of file replacements (for texture packs, e.g., custom textures).

Structure of a Mod/Texture Pack

ModName.zip
├── mod_config.rfmod
└── icon.png
  • mod_config.rfmod: JSON file with mod settings.
  • icon.png: Optional 64x64 PNG (falls back to play.png if missing).

Example 1: Creating a FastFlags Mod ("Performance Boost")

This mod uses FastFlags to improve Roblox performance and usability, similar to QoL mods like "SmoothPlay Enhancer."

Step 1: Create the Mod Folder

  1. Create a folder named PerformanceBoost.
  2. Inside, create a file named mod_config.rfmod.

Step 2: Write mod_config.rfmod

Add the following JSON to mod_config.rfmod. This mod unlocks FPS, disables ads, and shows an FPS counter.

{
    "name": "Performance Boost",
    "type": "mod",
    "conflicts": [],
    "fast_flags": {
        "DFIntTaskSchedulerTargetFps": "9999",
        "FFlagAdServiceEnabled": "False",
        "FFlagDebugDisplayFPS": "True"
    },
    "replace_files": []
}

FastFlags Explained:

  • DFIntTaskSchedulerTargetFps: "9999": Removes FPS cap for smoother gameplay.
  • FFlagAdServiceEnabled: "False": Disables in-game ads for a cleaner interface.
  • FFlagDebugDisplayFPS: "True": Shows an FPS counter to monitor performance.

Step 3: Add an Icon

  1. Use a 64x64 PNG named icon.png (e.g., a lightning bolt for performance).
  2. Place it in the PerformanceBoost folder. If you don’t have one, skip this, and RoForge will use play.png.

Step 4: Package the Mod

  1. Zip the PerformanceBoost folder to create PerformanceBoost.zip, containing:
    • mod_config.rfmod
    • icon.png (optional)
  2. Ensure the zip preserves the folder structure.

Step 5: Import into RoForge

  1. Open RoForge and go to Tab 1.
  2. Click "Import Mod" and select PerformanceBoost.zip.
  3. The mod extracts to ExternalMods/external_performance_boost and appears in the mod list for all modpacks.

Step 6: Enable and Test

  1. In Tab 2, select a modpack and toggle "Performance Boost" on.
  2. Launch Roblox and join a game.
  3. Check for:
    • Higher FPS (if your system supports it).
    • No ads in the game UI.
    • An FPS counter in the corner.

Tip: If you see issues (e.g., lag), lower DFIntTaskSchedulerTargetFps to 144 or 240 in mod_config.rfmod.

Example 2: Creating a Texture Pack ("Custom Sky")

This texture pack replaces Roblox’s default skybox with a custom starry night texture for a unique visual vibe.

Step 1: Create the Texture Pack Folder

  1. Create a folder named CustomSky.
  2. Inside, create a file named mod_config.rfmod.

Step 2: Create a Custom Texture

  1. Design a skybox texture (e.g., a starry night sky).
    • Size: 512x512 pixels (common for Roblox skyboxes).
    • Format: PNG for transparency and quality.
    • Tool: Use GIMP, Photoshop, or Canva to create a starry pattern or download a free texture from sites like Freepik (ensure it’s uncopyrighted).
  2. Save the texture as skybox.png in the CustomSky folder.

Step 3: Write mod_config.rfmod

Add the following JSON to mod_config.rfmod. This replaces the default skybox texture with your custom one.

{
    "name": "Custom Sky",
    "type": "texture",
    "conflicts": [],
    "fast_flags": {},
    "replace_files": [
        {
            "source": "skybox.png",
            "destination": "Roblox/Textures/Sky/sky512.dds"
        }
    ]
}

Replace Files Explained:

  • source: The texture file in your mod folder (skybox.png).
  • destination: The Roblox file to replace (Roblox/Textures/Sky/sky512.dds, a common skybox texture).
  • Note: The destination path targets Roblox’s internal texture folder. Ensure the path is correct for your Roblox version.

Step 4: Add an Icon

  1. Use the same 64x64 lightning bolt icon.png for consistency, or create a starry-themed icon.
  2. Place it in the CustomSky folder.

Step 5: Package the Texture Pack

  1. Zip the CustomSky folder to create CustomSky.zip, containing:
    • mod_config.rfmod
    • skybox.png
    • icon.png (optional)
  2. Ensure the zip includes all files.

Step 6: Import into RoForge

  1. In RoForge, go to Tab 1 and click "Import Mod".
  2. Select CustomSky.zip.
  3. The texture pack extracts to ExternalMods/external_custom_sky and appears in the mod list.

Step 7: Enable and Test

  1. In Tab 2, select a modpack and toggle "Custom Sky" on.
  2. Launch Roblox and join a game with a visible sky (e.g., an outdoor adventure game).
  3. Check if the skybox shows your starry night texture instead of the default.

Tip: If the texture doesn’t appear, verify the destination path matches your Roblox version’s skybox file (e.g., sky512.dds). You may need to experiment with paths like Roblox/Textures/Sky/skybox1.dds.

Best Practices

  • Test Mods: Always test in a non-critical Roblox game to avoid crashes. FastFlags like DFIntRenderClampRoughnessMax can cause black screens, so stick to stable ones.
  • Icon Design: Use 64x64 PNGs with high contrast (e.g., bright lightning bolt on dark background) for clarity in RoForge’s UI.
  • File Replacements: Ensure replacement textures match the original’s size and format (e.g., PNG or DDS). Check Roblox’s texture paths in the game files.
  • Backup Mods: Keep copies of your .zip files before importing, as RoForge overwrites ExternalMods on re-import.
  • Performance: Monitor FPS and ping (your modpack hit 110-115 ms!) using the FPS counter (FFlagDebugDisplayFPS). Remove heavy FastFlags if lag occurs.

Troubleshooting

  • Mod Doesn’t Load: Check mod_config.rfmod for JSON errors (use a JSON validator). Ensure the .zip includes all files.
  • Texture Not Showing: Verify the destination path in replace_files. Try alternative texture paths or convert PNG to DDS if needed.
  • Game Crashes: Disable risky FastFlags (e.g., DFIntTaskSchedulerTargetFps set too high) or test on a different game.
  • Icon Missing: Ensure icon.png is 64x64 and in the .zip. If it falls back to play.png, re-import the mod.