Warframe uses metadata (or "property text") for many game design-related configurations, e.g. what upgrades a mod gives, what abilities a warframe has, what enemy types spawn for a given enemy spec, etc. For this guide, we will be creating a metadata patch for a mod from scratch, as it is the easiest kind of metadata patch.

Finding The Internal Path

Typically, the fastest way to find the internal path (or uniqueName) for a given object is by searching in the Public Export, PE+, or on browse.wf.

As you become more acquainted with metadata, you may also find the EE.log and the Bootstrapper's write_all_metadata_reads configs to be useful.

For this guide, we will be patching the Fever Strike mod, which is /Lotus/Upgrades/Mods/Melee/WeaponToxinDamageMod.

Reading Metadata

In order to read metadata, we first need to ask the Bootstrapper to hold onto it for us. Creating an empty patch would work, but enabling the save_all_metadata config is far less of a hassle. Afterwards, (re)start the game.

Now, to query it, simply add the internal path from above at the end of http://localhost:6155/get_effective_metadata? and navigate to it. So, that makes http://localhost:6155/get_effective_metadata?/Lotus/Upgrades/Mods/Melee/WeaponToxinDamageMod for Fever Strike.

You may see no such patch or patch not applied (yet), in which case you'll need to do something to cause the game to load that object, but mods should be loaded by the time you're logged in.

Patching Metadata

The Bootstrapper provides a domain-specific language for performing text replacements on metadata, which may sound complicated, but it's actually really simple:

After saving this file, you can (re)start the game, and you should see the mod renamed and with the new effect of adding corrosive instead of toxin damage.

For more details, consult the Bootstrapper's manual, which fully documents the syntax for Metadata Patches.