Hi,
In our program, we are using a MPC to drive some custom effects into the material.
We were looking into a way to have intelligence inside the MPC itself. For instance, considering we have an array of usable index, we wanted to add some method for acquiring a slot in the array and returning the next available index.
What seems the appropriate thing to do for me was to create a C++ based MPC :
/**
*
*/
UCLASS()
class MYAPP_API UMyMaterialParameterCollection : public UMaterialParameterCollection
{
GENERATED_BODY()
public:
UFUNCTION (BlueprintCallable, BlueprintPure, Category = “Custom”)
intGeNextIndex () const { return 0; }
};
However, trying to implement this leads to linker errors:
symbole externe non résolu “public: virtual void __cdecl UMaterialParameterCollection::PreEditChange(class FProperty *)” (?PreEditChange@UMaterialParameterCollection@@UEAAXPEAVFProperty@@@Z)
symbole externe non résolu “public: virtual void __cdecl UMaterialParameterCollection::PostEditChangeProperty(struct FPropertyChangedEvent &)” (?PostEditChangeProperty@UMaterialParameterCollection@@UEAAXAEAUFPropertyChangedEvent@@@Z)
symbole externe non résolu “public: virtual void __cdecl UMaterialParameterCollection::PostInitProperties(void)” (?PostInitProperties@UMaterialParameterCollection@@UEAAXXZ)
symbole externe non résolu “public: virtual void __cdecl UMaterialParameterCollection::PostLoad(void)” (?PostLoad@UMaterialParameterCollection@@UEAAXXZ)
symbole externe non résolu “public: virtual void __cdecl UMaterialParameterCollection::BeginDestroy(void)” (?BeginDestroy@UMaterialParameterCollection@@UEAAXXZ)
It seems indeed those methods are not exported in the dll like many others.
Is there any reason why ?
Thanks,
Basile