AMM: Custom NPCs

How to customize NPCs with AMM


Created by @manavortex Published Nov 27 2023

This guide will show you how to create fully custom NPCs for AMM.

It has been tested using the following versions:

Wait, that's not what I want!

In this tutorial, we're creating a custom entity for Mamรก Welles, because right now, she's .app-sharing with all the female Valentinos in the world (base\characters\appearances\gang\, and frankly, she deserves better.

So we're moving her out of there and setting her up with her own files. We're also giving her a comfy outfit to wear at home.

We will be creating a new character, which we can spawn in addition to the regular Mamรก Welles. That's because adding appearances to an existing character is simpler, so it has its own guide under AMM: Custom NPC appearances.

Step 0: Setting up

  1. Download the example project from Nexus

  2. Extract the downloaded zip file into your project's root directory (the source folders should merge).

  3. You should now see the following files:

Step 1: The files

Any links in this section will go to the NPV guide, which is a more complex version of this guide. You can read the theory and then come back here, or you can go along and find out later.

The archive contains

  • โ€ฆ and a bunch of custom meshes for the mama_welles_comfy appearance.

When you're making your own NPC, you should make sure to take the root entity from a compatible character โ€” what animation template and which set of facial expressions they use. If you don't know what that means, just look at Takemura-san and Viktor when they walk.

Alright, here's how you go about making changes:

A different NPC

Read this section if you want to take the example project and mod a different NPC than Mamรก Welles. Otherwise, you can check out Adding more appearances below.

  1. Replace the .ent and the .app in your project with the NPC's original files

  2. Adjust the .lua:

    1. entity_info => path must point at your .ent file

    2. The list appearances I won't repeat it here โ€” this section will only tell you how to change things. hold entries corresponding to the name field in your .ent. This is how AMM populates the dropdown and activates the right appearance:

  1. Optional, but recommended: before you start custompathing, change your folder structure. Since this will break your mod, can check Finishing and cleaning up for how to go about that.

Adding more appearances

  1. In the .lua file, add an appearance to the appearances array to register it with AMM.

  2. In the .ent file, open the appearances array at the top of the file.

  3. Optional, but recommended: Delete all appearances that you don't want, but keep one for the next step.

  4. Create a new appearance:

    1. Select an existing item

    2. In the new entry, change the following fields:

      1. name: must match the name that you just registered in the .lua

      2. appearanceName: must match the name that you are going to use in the .app file in step 3.3

  5. In the .app file, open the appearances array at the top of the file.

  6. Optional, but recommended: Delete all appearances that you don't want, but keep one for the next step.

  7. Create a new appearance:

    1. Select an existing appearance

    2. Change the appearance's name to the value you used in step 2.3.2

Now it's time to adjust the components. This guide won't go into detail about this โ€” see Appearances: change the looks for more intel on the process.

Finishing and cleaning up

If everything is working: Congratulations! You have successfully made a mod!

But before you can share it, you need to do one last thing, which is changing the file structure. Otherwise, everyone will overwrite the same tutorial files, and only one of those mods will work.

You can find a full guide on how to do that here.

Last updated