First Person Perspective Fixes
Common Problems and How to Fix Them
Published: October 08 2023 by FronkenZeepa Last documented update: February 18 2024 by manavortex
In this guide, I will do my best to address the most common first person issues I've seen, and how to fix them.
Prerequisite and other relevant Guides
This guide assumes that you have an already working in-game item, and at least a basic understanding of WolvenKit.
To implement anything in this guide, you will need a Wolvenkit project with the mod's files. You already have that if you're fixing your own mod (hopefully). If not, check out this guide on how to analyze other mods!
Index
If you are modifying someone else's mod:
If you are changing someone else's mod, the easiest thing is to name your Wolvenkit project the same as the mod's .archive
file and add all the files from the original mod. You can do that by switching to the Mod Browser and searching for archive:name_of_file
For more information on this, read here.
If you're creating a fix for someone else's asset, why not drop them the final files - or a link to this guide?
Problem #1: Your sleeves render behind your arms

This is probably the most common problem I've seen, and is also thankfully the easiest to fix.
Solution
Open up the mesh entity (
.ent
) file for the item you need to fix:There are no appearances in a mesh entity file! Expand the
components
array, then find anycomponent
s withMesh
in their types, and check if they require fixing. In my example project, it's both the jacket and the sleeves.You might have to hunt around to find the right component, depending on how many there are. Scroll down and find the array
renderingPlaneAnimationParam
, which will most likely be grayed out.Click on it. In the right pane, change
None
to renderPlane.Make sure to follow the same capitalization, otherwise it won't work!
Repeat this process for any other component, as needed
When finished, save the file (either Ctrl + S or the Save button top left).
Install and test the mod in-game. If you did it correctly, your sleeves should now render properly.
Oh look, sleeves!
Problem #2: It's in your face (#justStormtrooperThings)

To fix this problem, you need to hide your item in first person perspective.
This part of the guide will show you how to turn the entire item invisible. If you don't want that, check Problem #3: Partial hiding (#justDraculaThings)
Solution
This fix starts in the
.yaml
file (which should live under your Wolvenkit project'sresources
folder in the subfolderr6/tweaks
, perhaps in a subfolder).If you are editing someone else's mod, you need to copy their
.yaml
to your project. If you don't know which file that is, check their Nexus mod files, as it will be part of the original .zip file.
Open the file in any text editor (recommended: Notepad++)
Helpful documentation on .yaml files resides here. Hopefully it looks something like this:
This is my example .yaml file with only one entry. Yours might have more. Check if there is something called
$instances
. If yes, the mod is using ItemAdditions: Dynamic Appearances and you are done here — go to Dynamic variants: Hiding FPPFind the line
appearanceSuffixes
. IIf it is missing or empty, do not add it – use Dynamic variants: Hiding FPP instead.If you have
itemsFactoryAppearanceSuffix.Camera
in your appearanceSuffixes array, you are dealing with Legacy variants: hiding FPP.Hopefully, you won't find this in there. If you do: be careful, this mod is an antiquity! :D
Legacy variants: hiding FPP
Switch back to Wolvenkit.
Open the root entity (.ent) file (it should have an array called
appearances
)

You now have two ways of hiding the item in first person:
Hiding FPP via tag
This will not work with ItemAdditions: Dynamic Appearances!
Find the array
tags
at the end of the list.In the panel on the right, click "add new item" (the yellow +) until you have an empt text field.
In the text field, enter
EmptyAppearance:FPP
Hiding FPP via appearance definition
Find and expand the
appearances
array.For each entry in there, you need to complete the following steps (the example project has only one entry).
Select each entry
Duplicate it via right-click menu
For the old entry: Change its
name
to end in&TPP
(third person perspective)For the new entry:
Change the
name
to end in&FPP
(first person camera)Change the depotPath to
base\characters\appearances\player\items\empty_appearance.app
change the
appearanceName
todefault
Should look like this now.
Dynamic variants: Hiding FPP
Switch back to Wolvenkit.
Pick one of the two options below (we recommendHiding FPP in the .app)
Complete the section under Checking the root entity
Hiding FPP in the .app
Open the .app file in Wolvenkit
Open the
appearances
arraySelect each appearance and add
&camera=tpp
to the name.

Hiding FPP in the mesh_entity
Open the Mesh/Component entity (simple entity) in Wolvenkit
Open the
components
arraySelect each component with
Mesh
in its type and add&camera=tpp
to the name

Checking the root entity
Find and open the root entity. If you have no idea which one it is, you can open the .csv and find the file paths in there.
Inside the file, make sure that you have a
DynamicAppearance
entry in your tags array (for a full guide with screenshot, see ItemAdditions: Dynamic Appearances -> The root_entity)If you don't, add it. Congratulations, you're good to go!
Testing
Save and close the file. Repeat the whole process for any other items that need to be obliterated in first person. Install and test. If all went well, no more obstructed vision!

Problem #3: Partial hiding (#justDraculaThings)

Fixing this is very similar to Problem #2, just with a few extra steps.
Solution
Create an additional FPP appearance by following the steps in Hiding FPP via appearance definition. Skip 2.4.3 and 2.4.4.
The
depotPath
should point at the same .app file as the &TPP appearance.Change the value for appearanceName. For example, add _fpp

Open your .app file and expand the
appearances
array.
Select an appearance and duplicate it
Change its
name
to correspond to theappearanceName
that you used in your root entity (Step 3)

At this point, it can be done in a few ways, depending on some factors:
Finding the right submesh
Open up the appearance's
partsValue
arrayOpen the .ent file that is linked inside
In the .ent file, open the
components
array and check any component with Mesh in its name:You might have to hunt around to find the right component, depending on how many there are. Open the linked .mesh file in Wolvenkit
Select
Mesh Preview

In the right-hand panel, you will see a list of checkboxes.
Toggle them off until the part that is in your face turns invisible. In my example, submesh 01 hides the upper collar.
Remember the number (01 in the example below)

Proceed to the section for Chunk Masks.
Chunk Masks
Switch back to the appearance (.app) file
Expand your first person appearance.
Expand the
partsOverrides
array. If it's empty, click on the array itself, then in the right pane, click create item in array.Select
componentsOverrides
by clicking on it.In the right panel, click on the yellow + to create a new item in array.
Open up the mesh entity (.ent) file and expand the
components
array.Find the component that needs its parts hidden and copy the name. In my example, the component is
examplejacket1_fur
.Back to the appearance (.app) file. Paste the component's name from the mesh entity into the
componentName
field.Click on
chunkMask
and uncheck the submeshes that you want to hide. (You found out which ones that were in Finding the right submesh - In my example it was submesh 01)

Optional: If you need to hide more parts or affect more components/meshes, rinse and repeat.
Save the appearance (.app) file and install the mod to test. If all went well, there should no longer be parts clipping into view.

Creating a second mesh
To show a different item (one with the clipping bits removed) in first person perspective, we need to create a second .mesh file and a corresponding meshentity .ent that we can display. This guide will show you how.
Duplicate the
.mesh
file that's clipping in first person. For my example, I'm using the jacket meshDuplicate the meshentity
.ent
file that belongs to the.mesh
file.Change their names to end in _fpp to indicate that this is a mesh for the first person perspective (or do whatever you want, but this guide assumes...)
In the
.app
file, open your first person appearance.Add a
partsOverride
by following the steps under Chunk Masks (skip step 9)Change the depotPath to your new _fpp meshentity file.
Save and close the .app – it is now pointing at your new _fpp meshentity.
In the _fpp meshentity file, open the components array
Select the component with Mesh in its name, open it and change the depotPath for the mesh to your new _fpp mesh file.
Save and close the .ent - it is now pointing at your _fpp mesh.
Editing the .mesh
For the next step, we need to export our .mesh file and edit it. You can use any 3d editing program, but this guide will use Blender 3.6 and the Wolvenkit Blender IO Suite.
Optional, but recommended: If you don't have the Wolvenkit Blender IO Suite installed, do that now.
In Wolvenkit, find the Export Tool
Export your _fpp .mesh file.
If the export throws an error, uncheck the Export Materials option in the settings panel (you don't need it)
You now have a
.glb
file in your project'sraw
folder. You can find it like this:Switch the Project Explorer to the
source
orraw
tabRight-click on your exported file
Select the option to show it in Windows Explorer
Now, hit up the 3d editing: Submeshes page and edit your mesh.
When you are done, use the Wolvenkit Import Tool to import back the .glb file.

Install and launch the project
???
Profit
Technical detes
for a mesh to disappear in FPP we must set the component's
visibilityAnimationParam = n"invisible_in_fpp"
Last updated
Was this helpful?