ModelImporter throws TargetParameterCountException despite correctly using the functions. How do i proceed?
I am attempting to write my own AssetImporter. I simply want it to search and remap when i import assets. However, when i import models it throws TargetParameterCountException: Number of parameters specified does not match the expected number. The exception occur in AssetpostProcessor.cs:680. Which is not a line i can access in the unity editor code. So i'm unsure how to debug and proceed. I'm running Unity 2019.2.10f1 on a windows machine.
using UnityEditor;
public class MaterialRemapper : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter modelImporter = assetImporter as ModelImporter;
modelImporter.importMaterials = true;
modelImporter.materialName = ModelImporterMaterialName.BasedOnMaterialName;
modelImporter.materialSearch = ModelImporterMaterialSearch.Everywhere;
modelImporter.SearchAndRemapMaterials(ModelImporterMaterialName.BasedOnMaterialName, ModelImporterMaterialSearch.Everywhere);
modelImporter.SaveAndReimport();
}
}
And here is the complete error log im getting in unity.
TargetParameterCountException: Number of parameters specified does not match the expected number.
System.Reflection.MonoMethod.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
UnityEditor.AssetPostprocessingInternal.InvokeMethodIfAvailable (System.Object target, System.String methodName, System.Object[] args) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:680)
UnityEditor.AssetPostprocessingInternal.PreprocessMesh (System.String pathName) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:396)
UnityEditor.Purchasing.UnityIAPUpdater:MigrateProductCatalog()
Your answer
Follow this Question
Related Questions
How to set a material to subobject in editor script? 0 Answers
PostProcessing a Json file at importation 0 Answers
how can I get my prefab to have a different material on instantiation 1 Answer
Lerping a material _TintColor: why does it work in a case and not the other? 1 Answer
Material of last four, is set to the first four in the selection. 1 Answer