SkillAgentSearch skills...

CharacterReplacer

The source for a fairly simple Character Mesh replacement mod for Satisfactory. This mod is fully network-compatible, and allows all players to individually select from the installed avatars which to use at any given time. This selection is saved until changed.

Install / Use

/learn @chrisj42/CharacterReplacer
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Satisfactory: Character Replacer

Overview

This mod is a library mod to facilitate custom player avatars, alone or with your friends, in Satisfactory.

[!IMPORTANT] <ins>No custom avatars are included when you install this mod alone.</ins> It is designed to handle as much of the work needed as possible to integrate arbitrary custom models into the game, so that modellers without coding experience can integrate their avatars without having to worry about all the fancy details.

Installing

This mod will usually be installed as a dependency of mods containing actual avatar models; installing it alone serves little purpose, as does browsing this github unless you intend to make one of said mods.

Here's a link to the SMR page though just for fun: https://ficsit.app/mod/CharacterReplacer

So what models are there?

The only published, public mod to my knowledge as of writing is Protogen Pioneers: https://ficsit.app/mod/ProtoPioneer

But, many people have used this so far to take their own private models and enjoy them in the game with friends!
So, if there's a model you can think of that might be cool in the game, read on! Blender experience is probably recommended, but with enough determination, anything is possible. Or bother your modelling friend who has never touched a factory game in their life until they cave and add it for you! I'm not picky, but I'm happy to support anyone who wants to try. :) My personal experience with the modelling side is limited, but I can try to at least point you in the right direction.

I want to put a model in!

Awesome! I've tried to make the process of adding support for new models as painless as possible; you will be most likely fiddling around in blender with armatures a good bit, and you do have to set up the modding env in unreal, but my code takes care of pretty much everything once you've managed to get unreal to recognize your mesh and textures. In other words, required coding experience is minimal to none.

Join the modding discord if you need support! You can find my contact details on the SMR page, I would love to hear about your efforts and I'd be happy to clarify anything that this guide doesn't cover. I haven't made a dedicated server for the mod yet, but if you'd be interested in one, let me know as well!

With that out of the way... let's get into the fun part!

How to Make Compatible Avatar Mods

Once you've decided on a model, here's a rough outline of what needs to happen if you want to see your lil guy in the videogame:

Step 1. (FModel): Extract the player armatures / model from the game files

Step 2. (Blender): Rig your model to fit the armatures

Step 3. (Unreal): Set up the Satisfactory Modding Evironment

Step 4. (Unreal): Create your mod and import the rigged models into Unreal

Step 5. (Unreal): Register your avatars with Character Replacer

[!IMPORTANT] <ins>You will need to obtain two separate rigs</ins> to make an avatar: one for first person, one for third person. They're not that different, but both are required.

Thus, a note on terminology: I'll be short-handing in this doc "first person" to "1p" and "third person" to "3p".


1. Obtaining The Player Rigs

To get the rigs into a usable state you will need:

  • FModel
  • Blender 4.0
  • The psk importer plugin for blender found here: https://github.com/DarklightGames/io_scene_psk_psa

FModel

We will start with the FModel process.

Largely, the Satisfactory modding community has great docs for setting up FModel:

https://docs.ficsit.app/satisfactory-modding/latest/Development/ExtractGameFiles.html

[!WARNING] However, the following changes / differences from the above guide should be used instead:

  • Set the model export format to PSK, not GLTF

[!NOTE] Why not GLTF?

While the docs do recommend using GLTF, my experience is that the armature imports completely messed up. The bones are all there, but they are in the entirely wrong positions, and attempts to import the model to Unreal result in an invisible mesh. If you get it to work, then do tell, I'd love to eliminate the 4.0 version and plugin requirements.

With that in mind, go ahead and follow those instructions to set up FModel, and come back when you're ready to extract the player meshes.

The Character Meshes can be found in FactoryGame/Content/FactoryGame/Character/Player/Mesh/. You'll want to right-click and select "Save Model" for:

  • SK_Pioneer_01.uasset (the third person / 3p model)
  • SK_Pioneer_1P_01.uasset (the first person / 1p model)

[!NOTE] If you want to have the vanilla pioneer textures as well, for reference, you can find them in the Textures/Pioneer_Textures folder next to the Mesh folder. Be sure to select "Save Textures" instead.

At this point, you should have 2 PSK files, called SK_Pioneer_01.psk and SK_Pioneer_1P_01.psk.

Then, open blender, and install the io_scene_psk_psa plugin. If it doesn't install correctly, use a legacy steam branch or other means to get specifically blender 4.0, which should work. Then you can just import each psk (I recommend doing so in separate blend files), and you should have the rigs available for your use.

[!WARNING] The PSKs will likely import at 100x scale. It's an artifact of unreal units being different. Select all (the mesh and the armature) and Scale down to 0.01, then you should be good to go. <ins>If you leave the models at 100x scale, you will run into strange interaction bugs during testing.</ins>


2. Rigging Requirements in Blender

Here is where I'll talk about what you need to know to make a compatible FBX for the game. This has nothing to do with my mod, it's just how satisfactory's player meshes work.

If you want to test the rest of the process out before getting into the nitty-gritty of re-rigging (an idea which I highly recommend), skip the tips below, and continue with the Final Edits, using the pioneer meshes you just imported.

Tips on Re-Rigging

Unfortunately, the rigging process itself is a bit out of my wheelhouse. If you've done weightpainting or rigging before, you're in good shape. If you haven't, well... take a look around other modding communities that do mesh replacements, or look on youtube, or ask a friend. You essentially need to end up with the exact bone structure of the player rig you're trying to fit, while making sure the weightpainting still behaves decently at the end.

Here are some tips mostly specific to satisfactory:

  • Keep the head on the 3p model, and remove it on the 1p model. Unless you want to try and use the base-game helmet. Then remove it on both.
  • For the 1p Armature: note that the arms are separately parented from the rest of the body. In previous versions, the mesh had to be severed as well, but from the looks of it, that isn't the case anymore. Still, worth watching out for.
  • For the 3p Armature: the head must be all weighted to a single head bone. Like, you can keep other bones on it, but... don't expect the physics engine to like you. It might be possible to find a way to make said bones work well, but I haven't figured it out. Let me know on the discord if you make it work!
  • Don't get too fussy with materials; chances are you'll have to recreate them in Unreal from the texture files anyway. Or, even better, you can use one of the material templates provided in the core mod, if your textures work with one of them.

Incorperating base-game assets to support customization:

[!WARNING] When considering using base-game assets in custom models, be wary of distributing copyrighted content of Coffee Stain Studios. If you do incorperate any significant amount of base game material into the model for aesthetic or other purposes, you probably shouldn't upload it to SMM.

If you re-use the clothing meshes from the original pioneer, and thus the same materials, you will automatically gain support for the vanilla customizer to recolor said clothing on your mesh as well, which can be a great point of immersion.

Alternatively, if you want to make something releasable, you can try making your own clothing, or other materials, that are compatible with the vanilla pioneer materials, and thus also recolorable. I can't really help with that, but the potential is definitely there, and there's no reason the core mod wouldn't allow you to do it. I hope to figure out how to properly support recoloring, particularly for more arbitrary materials, in future updates.

Using the Base Game Helmet(s):

The base game pioneer mesh renders the helmet as a separate static mesh to the main character body. Thus, you have the option of keeping that and working it into your avatar, or hiding it and just doing your own thing.

  • If you do design your avatar with the helmet in mind, it'll mean the vanilla customizer will be able to be used to choose between the various helmets in game and they'll actually show up. In that case, you shouldn't have the head on the 3p model, where usually you would.
  • If using the base game helmet unchanged doesn't work with your model's head/neck shape, but you still want to add helmet customization, consider just making separate 3p avatars for each helmet type. In a future update, once I figure out how to more deeply integrate into the vanilla player customizer, I intend to allow for such avatar sets to override the helmet selection, among other things.

Shape Keys

Depending on how you re-rig your models, you may or may not end up with shape keys on your mesh, as blender refers to them. As of version 1.4.0, any shape keys on your 3P mesh (if you import them into unreal) will show up in game in the locker customi

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks0

Languages

C++

Security Score

70/100

Audited on Feb 14, 2026

No findings