When I export my VRM model from Unity using UniVRM using the Unity Standard shader I get an error:
[Message: BepInEx] BepInEx 5.4.19.0 - valheim (23/06/2022 1:01:13 PM)
[Info : BepInEx] Running under Unity v2020.3.33.9525882
[Info : BepInEx] CLR runtime version: 4.0.30319.42000
[Info : BepInEx] Supports SRE: True
[Info : BepInEx] System platform: Bits64, Windows
[Message: BepInEx] Preloader started
[Info : BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.19.0]
[Info : BepInEx] 1 patcher plugin loaded
[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message: BepInEx] Preloader finished
[Message: BepInEx] Chainloader ready
[Message: BepInEx] Chainloader started
[Info : BepInEx] 2 plugins to load
[Info : BepInEx] Loading [ValheimVRM 1.2.0.0]
[Info : Unity Log] [ValheimVRM] Add Shader: UniGLTF/NormalMapDecoder
[Info : Unity Log] [ValheimVRM] Add Shader: UniGLTF/NormalMapEncoder
[Info : Unity Log] [ValheimVRM] Add Shader: UniGLTF/StandardVColor
[Info : Unity Log] [ValheimVRM] Add Shader: VRM/UnlitCutout
[Info : Unity Log] [ValheimVRM] Add Shader: VRM/UnlitTexture
[Info : Unity Log] [ValheimVRM] Add Shader: VRM/UnlitTransparent
[Info : Unity Log] [ValheimVRM] Add Shader: VRM/UnlitTransparentZWrite
[Info : Unity Log] [ValheimVRM] Add Shader: VRM/MToon
[Info : Unity Log] [ValheimVRM] Add Shader: UniGLTF/UniUnlit
[Info : BepInEx] Loading [Display BepInEx Info In-Game 2.0.0]
[Message: BepInEx] Chainloader startup complete
[Info : Unity Log] 06/23/2022 14:23:09: Starting to load scene:start
[Warning: Unity Log] Only custom filters can be played. Please add a custom filter or an audioclip to the audiosource (Amb_MainMenu).
[Info : Unity Log] 06/23/2022 14:23:11: Using environment
[Info : Unity Log] 06/23/2022 14:23:11: Using steam
Setting breakpad minidump AppID = 892970
SteamInternal_SetMinidumpSteamID: Caching Steam ID:
[Info : Unity Log] 06/23/2022 14:23:11: Authentication:k_ESteamNetworkingAvailability_Attempting
[Info : Unity Log] 06/23/2022 14:23:11: Steam initialized
[Info : Unity Log] 06/23/2022 14:23:11: Using default prefs
[Info : Unity Log] 06/23/2022 14:23:11: Valheim version:0.209.10
[Info : Unity Log] 06/23/2022 14:23:11: Render threading mode:MultiThreaded
[Warning: Unity Log] 06/23/2022 14:23:11: Missing audio clip in music respawn
[Info : Unity Log] 06/23/2022 14:23:11: Checking for installed DLCs
[Info : Unity Log] 06/23/2022 14:23:11: DLC:beta installed:False
[Info : Unity Log] 06/23/2022 14:23:12: Loaded localization CSV:localization language:English
[Info : Unity Log] 06/23/2022 14:23:12: Loaded localization CSV:localization_extra language:English
[Info : Unity Log] 06/23/2022 14:23:12: Loaded localization CSV:localization language:English
[Info : Unity Log] 06/23/2022 14:23:12: Loaded localization CSV:localization_extra language:English
[Info : Unity Log] [ValheimVRM] ModelScale: 1.1
[Error : Unity Log] System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: shader
at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <c9fb31c2eee14ce4aeb36e4c61e154d8>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.get_Importer () [0x00017] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.Import (UnityEngine.Texture2D metallicRoughnessTexture, System.Single metallicFactor, System.Single roughnessFactor, UnityEngine.Texture2D occlusionTexture, System.Boolean isLegacySquaredRoughness) [0x0002b] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.TextureFactory+<GetTextureAsync>d__13.MoveNext () [0x00464] in <3f747b53ad014ea5b3f09bc03783a885>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadTexturesAsync>d__32.MoveNext () [0x000b1] in <0290791accc8417eaf81f34d0ccd7a61>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadAsync>d__28.MoveNext () [0x00155] in <0290791accc8417eaf81f34d0ccd7a61>:0
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at UniGLTF.ImporterContextExtensions.Load (UniGLTF.ImporterContext self) [0x00048] in <0290791accc8417eaf81f34d0ccd7a61>:0
at ValheimVRM.Patch_Player_Awake.ImportVRM (System.String path, System.Single scale) [0x00018] in <9c68d11521304d628b2678b7157d1eb5>:0
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: shader
at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <c9fb31c2eee14ce4aeb36e4c61e154d8>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.get_Importer () [0x00017] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.Import (UnityEngine.Texture2D metallicRoughnessTexture, System.Single metallicFactor, System.Single roughnessFactor, UnityEngine.Texture2D occlusionTexture, System.Boolean isLegacySquaredRoughness) [0x0002b] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.TextureFactory+<GetTextureAsync>d__13.MoveNext () [0x00464] in <3f747b53ad014ea5b3f09bc03783a885>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadTexturesAsync>d__32.MoveNext () [0x000b1] in <0290791accc8417eaf81f34d0ccd7a61>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadAsync>d__28.MoveNext () [0x00155] in <0290791accc8417eaf81f34d0ccd7a61>:0
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.
Parameter name: shader
at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <c9fb31c2eee14ce4aeb36e4c61e154d8>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.get_Importer () [0x00017] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.OcclusionMetallicRoughnessConverter.Import (UnityEngine.Texture2D metallicRoughnessTexture, System.Single metallicFactor, System.Single roughnessFactor, UnityEngine.Texture2D occlusionTexture, System.Boolean isLegacySquaredRoughness) [0x0002b] in <3f747b53ad014ea5b3f09bc03783a885>:0
at VRMShaders.TextureFactory+<GetTextureAsync>d__13.MoveNext () [0x00464] in <3f747b53ad014ea5b3f09bc03783a885>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadTexturesAsync>d__32.MoveNext () [0x000b1] in <0290791accc8417eaf81f34d0ccd7a61>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at UniGLTF.ImporterContext+<LoadAsync>d__28.MoveNext () [0x00155] in <0290791accc8417eaf81f34d0ccd7a61>:0 <---
<---
[Info : Unity Log] 06/23/2022 14:23:13: UI Group status changed Menu = True
[Info : Unity Log] 06/23/2022 14:23:15: UI Group status changed Menu = True
The mod says it supports standard shader so I think it needs to be modified to support it