Modder guide

Build mods that work inside FMM

FleX Mod Manager v0.1.0-alpha.20 keeps the public workflow narrow on purpose. Use this as a practical checklist for OVRDTH templates, loadout-derived Armory items, Flex share packages, and Advanced cooked pak groups.

Current beta formats

What Flex can import today

Flex does not build Unreal assets for you. It helps users import, stage, toggle, and apply content that is already in one of the formats below.

OVRDTH Armory templates

Best current format for reusable weapon definitions. Flex imports JSON or TXT files that contain JSON and require a weapon Name_57 field.

Loadout-derived weapon templates

Equipment loadouts are now routed through OVRDTH Armory. Flex can read compatible SG Player Equipment.sav sources, normalize the hand weapon into an Armory item, and apply it through the same weapon workflow.

Flex share packages

Best for Flex-created saves, character presets, progression saves, and Armory templates. Export these through Sharing > Export Kit instead of hand-building the ZIP.

Advanced cooked package mods

Advanced / Labs only. Flex can stage and toggle validated .pak groups with matching .utoc, .ucas, and optional .sig files, but this is not complete support for every mod type.

Advanced / Labs

Cooked package mods

Use this only for validated cooked Half Sword package files. Flex scans the configured Advanced package mods folder for `.pak` files, copies each pak group into its staged area, and enables the selected mod by copying matching files into `HalfswordUE5\Content\Paks\~mods`.

  • Required main file: `.pak`.
  • Expected matching files: `.utoc` and `.ucas` when the mod uses IoStore packaging.
  • Optional matching file: `.sig`.
  • All matching files must use the same basename.

Recommended folder layout

Half Sword package mods/
  CreatorName-ModName/
    CreatorName-ModName.pak
    CreatorName-ModName.utoc
    CreatorName-ModName.ucas
    CreatorName-ModName.sig

Armory sources

Loadout-derived weapon items

Use this when your mod starts as an equipment save. Flex scans the configured loadout source folder recursively for `SG Player Equipment.sav`, checks that the file starts as a valid Half Sword save, compares asset references against the game manifest when available, and converts the hand weapon into an Armory item.

  • Compatible loadout-derived weapons appear in OVRDTH Armory.
  • Invalid saves or missing asset references are quarantined instead of loaded normally.
  • Folder names become useful labels, so keep pack, category, and loadout names readable.

Recommended folder layout

loadout sources/
  CreatorName-PackName/
    Swords/
      Longsword-Blue/
        SG Player Equipment.sav

OVRDTH Armory

Weapon template JSON

This is the safest current format for reusable weapon definitions. Use Weapon Editor > Export Active Weapon Template or OVRDTH Armory exports whenever possible. Hand-edited templates should stay valid JSON and include a `Name_57_` property.

Small template example

{
  "WeaponClass_54_B478ECF7499977809745A3973AD678EC_0": "/Game/Assets/Weapons/Blueprints/ModularWeaponBP.ModularWeaponBP_C",
  "Name_57_3729B51148E846FE8DD336B9419BCEE1_0": "CreatorName Example Sword",
  "HeadSize_21_2D425E61473B8F64FBAB51B223459D57_0": { "x": 1.0, "y": 1.0, "z": 1.0 },
  "GripSize_25_AC1660814C4C25C521AAA8830FE8ECCF_0": { "x": 1.0, "y": 1.0, "z": 1.0 },
  "ColorWood_46_F3AE05AD4495EBCD1D354C8025D7C743_0": { "r": 0.45, "g": 0.27, "b": 0.12, "a": 1.0 }
}

Recognized prefixes

Flex copies these fields from a template when it applies one to a structured weapon. Unknown fields are ignored by current apply logic.

WeaponClass_ID_Name_57_HeadSubModule1_HeadSubModule2_HeadModule_GuardModule_PommelModule_GripModule_HeadSize_GuardSize_GripSize_PommelSize_CustomMassScaleHead_CustomMassScaleGuard_CustomMassScaleGrip_CustomMassScalePommel_MaterialMetalSteel_MaterialMetalColored_MaterialWeood_MaterialLeather_ColorWood_ColorLeather_Color1_Color2_Color3_Price_Tier_

Release checklist

Before sharing a mod

Build rules

  • Use unique filenames and folder names. Prefix package files with your creator or project name when possible.
  • For Armory templates, keep valid JSON and include a Name_57 field so users can identify the weapon.
  • For loadout-derived weapons, provide a valid SG Player Equipment.sav and expect Flex to convert the hand weapon into an Armory item before use.
  • For cooked package mods, keep one mod per pak basename. If the pak is MyWeapon.pak, keep MyWeapon.utoc, MyWeapon.ucas, and MyWeapon.sig beside it.
  • Do not rely on Flex to cook Unreal assets, merge packages, fix broken asset references, or bypass Half Sword version changes.
  • Ship a short README with what the mod changes, the Flex area to use, required game version, known conflicts, and how to remove it.

README fields

  • Mod name, author, version, and date.
  • Which Flex area to use: OVRDTH Armory, Saves, Sharing, or Advanced / Labs.
  • Required Half Sword version or build date if known.
  • Files included and expected install result.
  • Known conflicts or load-order notes.
  • How to disable, remove, or restore from backup.

Beta limits

What not to promise yet

Be clear with users. Flex is becoming a full modding hub, but FleX Mod Manager v0.1.0-alpha.20 should not claim complete support for every new weapon, map, package, script, or plugin.

Say this instead

  • This mod was tested with FleX Mod Manager v0.1.0-alpha.20.
  • Use the listed Flex tab and follow the included README.
  • Close Half Sword before package enable, package disable, or live save writes.
  • If Flex quarantines the mod, do not force it; report the warning and included files.