Unreal Thinks Editor-Only subclass is Run-time (make it stop)

This isn’t technically game-play, but the only C++ forum here, so here it goes.

I setup an animation modifier BP which works great. If I reparent this BP to a new C++ class whose super is UAnimationModifier, the BP’s Compiler Results pane complains about:

But this ISN’T a runtime BP, and I’m not sure how to tell Unreal this is an editor-only blueprint which is what UAnimationModifier objects are.

I’m using Unreal v4.25, and my subclass header looks like this - which is what Unreal gave me.


#pragma once

#include "CoreMinimal.h"
#include "AnimationModifier.h"
#include "MyAnimationModifier.generated.h"

UCLASS()
class ABC_API UMyAnimationModifier : public UAnimationModifier
{
GENERATED_BODY()

};

This problem persists regardless if the UCLASS() macro has BlueprintType or Blueprintable passed in.
I’ve also tried adding a virtual function IsEditorOnly() which returns true - still no cigar.

I’ve spent an embarrassing amount of time on this and I’m about to throw in the towel, but I’m hoping someone can point me in the right direction.

Cheers,

There doesn’t seem to be any code that declares animation modifiers as editor-only objects - they just happen to exist in an editor module. They are still experimental in 4.25 at least. Even the base modifier doesn’t override IsEditorOnly().

The workaround it seems would be to just move that function you’re calling into a non-blutility object. It appears as though you can only call Blutility functions from within the blutility itself.

Thanks TheJamsh. Yes, I stopped trying to subclass UAnimationModifier and ended up calling needed C++ UAnimationModifier functions from the outside (which I believe is pretty much what you’re saying).

Cheers.

Still broken in 5.3