Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
CustomMeshes
Fork of aedenthorn's CustomMeshes for Valheim 1.0. Allows you to replace object meshes with imported model files.
| Date uploaded | 3 weeks ago |
| Version | 0.5.1 |
| Download link | cjayride-CustomMeshes-0.5.1.zip |
| Downloads | 104 |
| Dependency string | cjayride-CustomMeshes-0.5.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350cjayride-AssimpLibaries
Assimp / AssimpNet libraries for Valheim 1.0 mesh import mods.
Preferred version: 0.2.3README
CustomMeshes
Updated for Valheim 1.0
A fork of aedenthorn/CustomMeshes
Replace object meshes with imported model files.
This mod will hopefully eventually allow replacing any mesh in the game; for now it lets you do the following:
- Replace the static mesh(es) of building pieces with imported fbx or obj files.
- Replace the static mesh(es) of items with imported fbx or obj files.
- Replace skinned meshes with imported AssetBundles (experimental)
Place mesh files next to this mod's DLL, in a CustomMeshes folder:
BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes
(If you installed the DLL by hand, create CustomMeshes next to CustomMeshes.dll.)
.obj files are imported by this mod and do not need Assimp. .fbx files need AssimpLibaries. If FBX fails, check BepInEx/LogOutput.log for Assimp errors.
DETAILED INFORMATION
Building Pieces
To import static meshes for building pieces, do the following:
[Step One:] create a folder with the name of the thing you are replacing.
For example, to replace the wooden chest meshes, create a subfolder in BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes called: piece_chest_wood
[Step Two:] create a subfolder for each of the states of the building piece: New, Worn, Broken
So now you should have three folders:
BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\piece_chest_wood\New
BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\piece_chest_wood\Worn
BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\piece_chest_wood\Broken
Step Three: put fbx or obj files corresponding to each MeshFilter name into that folder, e.g.:
woodchest.fbx woodchesttop_closed.fbx
Items
To import static meshes for items, you need the item name, the renderer object name, and either the mesh filter name or the skinned mesh renderer name, depending on the item. You can find these by turning on debug in the config file and looking at the messages when the item spawns, e.g.:
CustomMeshes got mesh filter item name: HelmetPadded, obj: HelmetPadded, mf: default
CustomMeshes got skinned mesh renderer, item name: HelmetPadded, obj: attach_skin, smr: ChainLinkVisor
You then create a file with the following folder structure:
- BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes<ItemName><ObjectName><MeshFilterName>.obj
and/or
- BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes<ItemName><ObjectName><SkinnedMeshRenderer>.obj
For example:
- BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\HelmetPadded\HelmetPadded\default.obj
or
- BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\HelmetPadded\attach_skin\ChainLinkVisor.obj
Player Meshes
To import player meshes, you need to create an AssetBundle with a body object in it. Please don't ask me how to do that, I have no clue. You can ask people working on it in my discord server if you know something about Unity.
Step One: create a folder called player with a subfolder called model in the CustomMeshes folder. So now you have:
BepInEx\plugins\cjayride-CustomMeshes\CustomMeshes\player\model
Step Two: put the asset bundle you created in the subfolder, naming it 0 for male and 1 for female (make sure it has no file extension).
Known Issues
Requires BepInExPack Valheim 5.4.2350+ (Unity 6). Crossplay must stay off for BepInEx to load.
Configuration
- A config file BepInEx/config/cjayride.CustomMeshes.cfg is created after running the game once with this mod.
Contact
-
𝕏: x.com/cjayride
-
Discord: discord.gg/cjayride (find me at the top of the user list) "cjayride"
-
Twitch: twitch.tv/cjayride
AI Generated
This code was not AI Generated, however, AI was used to verify that it works with the new version of the game.
CHANGELOG
v0.5.1
- FBX import now finds assimp.dll in the AssimpLibaries plugin folder and copies it next to valheim.exe
- FBX import errors are written to the BepInEx log instead of failing silently
- FBX materials no longer require Unity's removed Standard shader
- README paths updated for Thunderstore / r2modman installs
v0.5.0
- Prepared for Valheim 1.0 (Unity 6)
- Build now references Unity assemblies from valheim_Data/Managed (unstripped_corlib / TextCoreModule are gone)
- BepInEx dependency updated to denikson-BepInExPack_Valheim-5.4.2350
- Plugin path lookup uses Assembly.Location instead of the obsolete CodeBase URI
- Added null checks for VisEquipment.m_models and drag-item drop prefabs
v0.4.1
- Added debug mode to the config
- Meshes may not be loading... we're trying to figure out why
- Updated depedency denikson-BepInExPack_Valheim-5.4.2202
v0.4.0
- Fixed input text error when pressing F5
- Renamed config file to cjayride.CustomMeshes.cfg