Step-by-Step: Creating a Custom EUP Pack for FiveM

thefrozen.5 min read

Step-by-Step: Creating a Custom EUP Pack for FiveM

One of the biggest flexes for any FiveM server is a unique wardrobe. Whether it is a custom-branded police force, gang-specific vests, or designer streetwear for your civilians, clothing is what defines your server's visual identity.

However, "EUP" (Emergency Uniform Pack) is often misunderstood. While it started as a specific mod for police uniforms, in the FiveM world, the term is loosely used to describe any custom clothing streaming.

Have you ever tried to install a clothing pack only to find your character's arms invisible? Or maybe you added a custom vest, but the server crashes every time you walk near it? These issues stem from incorrect packaging.

In this guide, we will walk you through the exact process of creating a custom clothing pack from scratch. We will cover the "Argentum" requirement, the secret file naming convention that fixes invisible bodies, and how to optimize your textures so your server runs at 60 FPS.


1. Prerequisites: What You Need Before Starting

Before you start dragging and dropping files, you need to ensure your server is actually allowed to stream clothing.

The "Club" Requirement

To stream custom clothing assets to FiveM, your server license key must be associated with a FiveM Patreon account subscribed to the Element Club Argentum tier or higher.

  • Without this: Your server will likely crash or refuse to load the clothing resource.
  • Check: Go to your Keymaster account and ensure your key has "Element Club" listed next to it.

The Toolkit

You will need a few free tools to manage the files:

  1. OpenIV: To view .ydd (model) and .ytd (texture) files.
  2. Code Editor: VS Code or Notepad++ for the manifest file.
  3. Image Editor: Photoshop or Paint.NET if you plan on resizing textures.

Need assets to pack? Don't start from zero. Browse our FiveM clothing and EUP packs for pre-optimized, lore-friendly uniforms, like the Male 125X Police EUP Pack, the Female 120X Police EUP Pack and the SAMS EMS EUP Pack.


2. The Folder Structure: Building the Foundation

FiveM is incredibly picky about where files live. If you just dump files into a folder, nothing will happen. We need to create a Resource.

Step 1: Create the Directories

Navigate to your server's resources folder and create a new folder structure like this:

[resources] └── [clothing] └── my_custom_pack ├── fxmanifest.lua └── stream └── (This is where your files will go)

Critical Note: All your model (.ydd) and texture (.ytd) files must go inside the stream folder. FiveM will automatically "stream" any valid file found in this folder to the player.


3. The "Hat Trick": Naming Your Files Correctly

This is the secret sauce. In single-player GTA, files are organized into complex DLC folders. In FiveM, all files are flattened into one stream folder.

To tell FiveM "This shirt belongs to the male multiplayer character," you must use a specific naming convention using the caret symbol (^).

The Formula

[ped_model_name] ^ [original_filename]

Practical Example

Let's say you downloaded a file named jbib_001_u.ydd (a shirt).

  • If it's for a Male: Rename it to mp_m_freemode_01^jbib_001_u.ydd
  • If it's for a Female: Rename it to mp_f_freemode_01^jbib_001_u.ydd

By adding mp_m_freemode_01^ to the start of the filename, you are forcing FiveM to apply that clothing item to the correct ped model. If you skip this step, the clothes might appear on random NPCs or not show up at all.


4. Configuring the Manifest

Now that your files are named correctly and sitting in the stream folder, you need to tell the server to recognize them.

Open your fxmanifest.lua and paste the following code:

fx_version 'cerulean' game 'gta5'

description 'My Custom EUP Pack' version '1.0.0'

-- Tells FiveM to read the contents of the stream folder files { 'stream/*.ydd', 'stream/*.ytd', 'stream/*.ymt' }

That's it. Unlike complex script installations, clothing packs generally don't require client_scripts or server_scripts.


5. Optimization: Avoiding the "City Bug"

Have you ever driven through the city and watched the road disappear? That is called Texture Loss, and it is almost always caused by unoptimized clothing packs.

The 16MB Limit

FiveM struggles to process single texture files (.ytd) that are larger than 16MB.

  • The Issue: Many designers export textures in 4K or 8K resolution, creating massive files (50MB+).
  • The Fix: Open the .ytd file in OpenIV or use a tool like "Texture Toolbox." Resize the embedded images to 1024x1024 or 2048x2048 maximum.

Rule of Thumb: If your clothing pack is over 1GB in total size, you will cause lag for your players.

For a deeper look at texture sizes and clothing limits, read our clothing pack optimization guide.

Save time: All assets in our clothing category are pre-optimized to ensure they look great without crashing your server.


6. Testing and Installation

  1. Add to Config: Open your server.cfg and add ensure my_custom_pack.
  2. Clear Cache: It is good practice to clear your server cache (delete the cache folder) when adding new streaming assets.
  3. Restart & Test: Join your server. Go to a clothing store or use a command like /skin.
  4. Verify: Scroll to the end of the clothing list (jackets, shirts, etc.). Your custom items should appear as "Add-on" items at the end of the list, or replace existing slots if you used replacement filenames.

Conclusion: Dress to Impress

Creating a custom EUP pack is a rite of passage for server owners. It separates the "default" servers from the professional communities. By following the file naming conventions and keeping your textures optimized, you can build a massive wardrobe that allows your police, gangs, and civilians to express themselves without lagging the server.

Ready to expand your wardrobe? Skip the renaming and optimizing with ready-to-stream packs:

Or see everything in our FiveM clothing packs category.

Ready to upgrade your server?Optimized scripts, MLOs and vehicles with free lifetime updates.
Browse the store
All posts