Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
465a58e
added and finshed MRVN Radient texture section
Berdox Jul 28, 2025
c69281c
fixed spelling error
Berdox Jul 28, 2025
7237876
fixed a info error
Berdox Jul 28, 2025
45c069c
Changes stuff about rpak and starpak so it is more clear
Berdox Jul 29, 2025
cc7f9b8
fixed typo
Berdox Jul 29, 2025
c888dfc
Fixed a grammer error
Berdox Jul 30, 2025
afe288a
Merge branch 'main' into main
uniboi Jul 30, 2025
abc3d01
Fixed formatting issue of trailing whitespace
Berdox Jul 30, 2025
5c44d80
Merge branch 'main' of github.com:Berdox/NorthstarDocs
Berdox Jul 30, 2025
61de203
Moved two sentences to a new line below the heading
Berdox Aug 3, 2025
1c14d0e
Merge branch 'main' into main
Alystrasz Aug 3, 2025
895c331
Merge branch 'main' into main
Berdox Sep 4, 2025
4a17083
Merge branch 'main' into main
Alystrasz Dec 3, 2025
5dedbf7
Update textures.md
Berdox Feb 24, 2026
40ead4f
Update textures.md
Berdox Feb 24, 2026
5336f4e
Update textures.md
Berdox Feb 24, 2026
4be5bd9
Merge branch 'R2Northstar:main' into main
Berdox Feb 25, 2026
4811685
Added info the textures section and added a shaders section
Berdox Feb 25, 2026
a718ea2
changed path
Berdox Feb 25, 2026
61bdbb0
trim whitespace
Berdox Feb 25, 2026
89e679f
spelling mistake
Berdox Feb 25, 2026
851c0ab
fix grammar mistake
Berdox Feb 25, 2026
f63b533
Delete docs/_static/images/mrvn/textures/rpak_example_folder.jpg
Berdox Feb 25, 2026
78d8752
Delete docs/_static/images/mrvn/textures/vmt_vtf_example_folder.jpg
Berdox Feb 25, 2026
a4af502
Delete docs/_static/images/mrvn/textures/vmt_vtf_vpk_example_folder.jpg
Berdox Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/Modding/guides/tools/VTFModding.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ When we use vtf textures, we can only use the albedo and normal. Learn more abou

## VTFEdit

[VTFEdit](https://nemstools.github.io/pages/VTFLib-Download.html) is a tool to edit, view, and create .vtf files.
[VTFEdit](https://nemstools.github.io/pages/VTFLib-Download.html) or it's newer version [VTFEdit Reloaded](https://github.com/Sky-rym/VTFEdit-Reloaded/releases) is a tool to edit, view, and create .vtf files.


Launch [VTFEdit](https://nemstools.github.io/pages/VTFLib-Download.html). Top left, click `File`, `Import`, find and Import your custom texture(s).
Expand Down
22 changes: 22 additions & 0 deletions docs/Modding/mapping/MRVN-Radiant/shaders.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Shaders

## Introduction
A shader is a script that defines the visual properties of a surface. It is used in MRVN to define the properties of the texture to be compiled into the map and rendered by the engine. An example of a shader property is `$compileflag nodraw` to make the texture not be drawn. A shader definition needs to be present, for a texture, to be able to use a material from a `.rpak`. VMT and VTF don't need a shader definition, but it is good practice to have a shader definition. You can find examples of shader files in [MRVN Resource Pack](https://github.com/MRVN-Radiant/MRVN-Resource-Pack).

---

Shader files are stored in the shaders directory, where the textures for the shaders are stored in the texture directory.

![Folder Path Image](../../../_static/images/mrvn/textures/folder_example.jpg)

#### Example
A simple shader definition for a texture
```
textures/world/dev/generic_grey
{
$shadertype LitBumpGeneric
$surfaceflag litbump
}
```

---
141 changes: 141 additions & 0 deletions docs/Modding/mapping/MRVN-Radiant/textures.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Textures

## Introduction
MRVN Radiant is a brush-based level editor used for creating custom maps for Titanfall 2. In MRVN, most surfaces such as floors,
walls, and ceilings are made up of brushes. These brushes are textured using image files mapped onto their surfaces.

---

## Setting Up Texture Paths

Proper texture paths are important because both MRVN and Titanfall 2 rely on these paths to locate texture files.

In MRVN, textures are referenced relative to the `textures/` directory. When you apply a texture to a brush, MRVN looks inside this folder to match the path.
Titanfall 2 expects those same textures to be defined either by `.vmt/.vtf` materials (VMT method) or embedded in `.rpak` files (RPAK method) using the exact same relative path.

---

### Step 1: Folder Structure

First, create a folder for your custom assets. The simplest structure looks like this:

```
<your_custom_folder>/
├── textures/
├── model/
└── shaders/
```

MRVN looks for textures inside the `textures/` folder, so this folder is required.

A more complete structure may look like:

```
<your_custom_folder>/
├── textures/
│ ├── world/ # Textures for brush geometry
│ │ ├── dev/ # Developer grid and debug textures
│ │ ├── walls/ # Wall textures
│ │ └── floor/ # Floor textures
│ ├── model/ # Model-specific textures (not commonly used)
│ └── skybox/ # Skybox textures (currently not implemented in MRVN)
├── model/ # 3D models (OBJ or mdl format) used in MRVN
└── shaders/ # Shader definitions for MRVN to compile into Map (Used for rpak)
```

It is strongly recommend downloading the [MRVN Resource Pack](https://github.com/MRVN-Radiant/MRVN-Resource-Pack).
The pack includes helpful assets such as spawnpoint models, other entity models and definitions, and utility textures commonly used in Source Engine and Titanfall development.
It also provides a reference for proper folder structure.

---

### Step 2: Add Resource Path in MRVN

1. Launch MRVN Radiant.
2. Press `P` to open **Preferences**.
3. Navigate to the **Games/Paths** section.
![Preferences Image](../../../_static/images/mrvn/textures/mrvn_preferences.jpg)
4. Click the folder icon next to "Extra Resource Path".
5. Select the folder you created in Step 1.

**Important:** Add the **parent folder** (the one that contains the `textures/` folder), not the `textures/` folder itself.

![Folder Path Image](../../../_static/images/mrvn/textures/folder_example.jpg)

---

After adding your custom folder and the MRVN Resource Pack, your list of resource paths should resemble this:

![Path Example Image](../../../_static/images/mrvn/textures/mrvn_path_example.jpg)

---

The only textures you should have right now is the ones added in the MRVN Resource pack and your MRVN Radiant should look like this.

![Path Example Image](../../../_static/images/mrvn/textures/mrvn_resource_pack_show.jpg)

---
### Step 3: Add Textures to the `textures/` Folder

MRVN supports multiple image formats such as `.png`, `.dds`, and other image formats. These image files are used to apply textures to
geometry within the editor.

However, **Titanfall 2 requires that the in-game material file (either a `.vmt` or a compiled `.rpak` material) matches the texture path
exactly as used in MRVN.** This path must reflect everything after the `textures/` folder.

#### Example Full File Path:

```
G:\MRVN textures\textures\world\dev
```

Only this portion is relevant to MRVN and Titanfall 2:

```
world\dev
```

If your paths do not match, Titanfall 2 will not be able to locate and apply the correct texture during runtime.

#### Example Usage

Used in MRVN:
```
world/dev/generic_grey.png
```

Used in Titanfall 2 (VMT method):
```
world/dev/generic_grey.vmt
```

Ensure the filename (excluding file extension) and folder structure are **exactly the same** for both the texture file and the material file.

---

#### Example Folder and MRVN Preview

Here is an example of a correctly structured texture folder and how it appears inside MRVN:

![Texture Folder Example](../../../_static/images/mrvn/textures/mrvn_texture_example.jpg)
![In-Editor Texture Example](../../../_static/images/mrvn/textures/mrvn_texture_example_in_mrvn.jpg)

---

### Step 4: Loading Textures in Game

There are two main methods for loading textures into the game for use in your custom map: the **VMT method** and the **RPAK method**.

The **VMT method** is quicker and easier to set up, making it ideal for testing or simple projects. However, it offers limited
control over how textures appear in-game, and the visual quality may be lower.

The **RPAK method** requires more setup, as it involves using [RePak](../../repak/index.md) and creating a JSON map file to compile your textures into an `.rpak` file. While this method is more complex, it provides greater control over texture behavior and appearance. [Here](../../repak/assets/index.md) to learn more about `.rpak` and Repak. To use textures and materials with `.rpak` you need to have a [shader definition](./shaders.md) for each texture used in the map. MRVN will compile the texture info using the shader definition into the map, making the engine be able to find the materials in `.rpak`.

---

## Common Problems

- Applying a texture in MRVN using one path, but placing the material in a different one for titanfall 2.
- Forgetting to include a `.vmt` or material definition for the texture when packaging the map.
- Using spaces or capital letters inconsistently between image and material paths.
- Not including the correct `pak/`, `materials/`, or `textures/` folders in your mod structure.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.