Skip to content

Make your first mod ​

Walk through editing a retail gameplay config, compiling a custom PNG texture with the Asset Wizard, and exporting a playable .stage mod package.
Read time 6 minutes

Every task in Luna Tools follows one of two straightforward patterns:

  1. Edit an existing game asset: Open an asset from the Game tab, modify its properties, and press Save (Ctrl+S). Luna Tools writes your modified copy into your Stage's 0/ folder.
  2. Build a custom asset from a project file: Use the Asset Wizard (Ctrl+N) to create an editable project file (such as .lttexture or .ltsurface), save your settings, and press Build (F7) to compile native game binaries into 0/ (and 1/).

This tutorial walks through both workflows from start to finish so you can verify everything works before starting a larger project.

Prerequisites ​

Before starting, complete Installation and setup:

  • Luna Tools is running.
  • Your Marvel's Spider-Man 2 toc file is configured so assets appear in the Game tab. (Part 2 also works without a retail toc configured.)

Part 1: Edit a gameplay .config and export a .stage mod ​

In this walkthrough, you will create a clean practice Stage, preview a 3D model, modify a .config asset, confirm that your edit persisted cleanly, and package a .stage mod file.

Step 1: Create a practice Stage ​

  1. Press Ctrl+Shift+N (or select Stage > New Stage...).
  2. Enter PracticeMod for Mod Name.
  3. Enter your name or handle for Author.
  4. Select Browse... and choose a parent folder such as D:\Mods, so Stage Folder reads D:\Mods\PracticeMod, then select OK.

Step 2: Preview a 3D model (optional warm-up) ​

Before editing any data, open a model to verify 3D rendering and browser search:

  1. Select the Game tab in the Asset Browser.
  2. Set the Format filter dropdown to .model.
  3. Type spiderman (or any prop or character keyword) in the search bar and press Enter.
  4. Double-click any .model result to open it in the Object Viewer:
    • Left-drag on empty background space to orbit, right-drag to pan, and scroll to zoom.
    • Press Ctrl+W to close the tab when finished. Opening and viewing assets never modifies your Stage.

Step 3: Open and edit a .config file ​

  1. In the Game tab, change Format to .config and search for a config file (for example, photo, difficulty, or hero).
  2. Double-click a .config asset to open the Config Editor.
  3. In the Configuration Properties tab, locate the two-column tree (Configuration Property and Value).
  4. Change a simple numeric value or checkbox in the Value column. Notice that the tab title now begins with *, showing unsaved changes.

NOTE

Config, Actor, and Conduit editors also provide a JSON Source tab for raw text editing. If you edit text inside JSON Source, select Apply JSON Changes before saving. Edits made in the visual Configuration Properties tree apply immediately.

Step 4: Save to your Stage and verify ​

  1. Press Ctrl+S (or select Save in the tab toolbar).
  2. Confirm all three indicators of a clean save:
    • Game tab: The .config entry highlights in green with [STAGED] beside its name.
    • Stage tab: Switch to the Stage tab and expand 0 to see your saved .config file at its matching folder path.
    • Reopen check: Close the tab (Ctrl+W), double-click the same asset again, and confirm your updated value loads back in.

Step 5: Export your .stage package ​

  1. Press Ctrl+E (or select Export in the Stage tab toolbar).
  2. In the Export Stage Mod (.stage) dialog, verify that your Stage summary lists Files to pack: 1 file(s).
  3. Choose a destination for PracticeMod.stage and select Export .stage.

You now have a valid PracticeMod.stage package ready for Overstrike:

  • Test manually: Drag PracticeMod.stage into Overstrike, enable it, and launch Marvel's Spider-Man 2.
  • Test in one click: If you configured Overstrike in Installation and setup, select Test (or Test > Test Stage & Launch) in the Stage tab.
  • Clean up afterward: Right-click the [STAGED] file in the Stage or Game tab and select Revert to Game Retail to remove the practice override from PracticeMod.

Part 2: Build a game .texture from a PNG image ​

Next, use a project file workflow to convert a standard .png image on your PC into compiled .texture spans inside your Stage.

Step 1: Create a Texture project with the Asset Wizard ​

  1. Press Ctrl+N (or select File > New Asset...).

Luna Tools Asset Wizard

  1. Under Asset choice, select Texture.
  2. Pick a category (such as Character > Hero or UI) to prefill a standard folder layout, or enable Custom path to enter your own path.
  3. Enter my_custom_logo for Asset name.
  4. Select Choose PNG... and pick any .png image from your computer (for example, a 512x512 or 1024x1024 PNG).
  5. Keep Texture preset set to Colour (use Normal for normal maps or Mask for packed grayscale masks).
  6. Under Asset Final Name/Path, set Save to to Stage so the project saves inside PracticeMod/sources/....
  7. Select Create Asset.

Step 2: Compile the native .texture spans ​

Creating the asset opens my_custom_logo.lttexture. Because .lttexture is your editable recipe, you compile it once to generate the binary .texture files that the game reads:

  1. Press Ctrl+S if you changed any compression or mipmap options.
  2. Select Build Texture... in the asset toolbar (or press F7).
  3. Select your active Stage (PracticeMod) and confirm the target virtual path (for example, textures/ui/my_custom_logo.texture).

Step 3: Inspect the generated files ​

Open the Stage tab in the Asset Browser to inspect what Luna Tools generated:

  • sources/ holds your editable .lttexture file so you can swap the source PNG or adjust settings at any time.
  • 0/textures/... and 1/textures/... contain the compiled base and high-resolution .texture binaries.
  • Double-click the compiled .texture under 0/ to open the Native Texture Inspector, where you can inspect individual mip levels, R/G/B/A channels, and compressed byte sizes.

When you export the Stage (Ctrl+E), Luna Tools packs 0/ and 1/ into the .stage archive automatically while keeping sources/ safely inside your project folder.

Where to go next ​

GoalRecommended documentation
Understand how engine systems connectCore concepts and architecture
Create custom suit materials or shader graphsReusable materials and surfaces and Asset Wizard
Edit .actor, .config, .conduit, .atmosphere, or .save assetsAsset editors and Actors and assets
Place objects and actors inside 3D city scenesZones and Levels
Build gameplay logic, triggers, and mission flowsScriptgraphs and First scriptgraph
Author cutscenes, animations, or custom sound eventsCinematics, Animation, and Audio

Additional resources ​

Luna Tools Documentation