PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module

I’m getting this error when I try to package my project:
“PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.”

I can’t find much online about it - Anyone have any idea what could be causing this?

Hi @Milo_911!

Usually that error code is paired with more errors. Would you mind sharing your full error log?

In the meantime, here is another forum thread with the same error that can possibly point you in the direction of what you are looking for!

Need help! 4.21 packaging keeps failing

Any additional information you can provide will be a big help in solving your problem!

1 Like

Thats weird and a little worrying!
The full log is just this:

PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: Unknown Error

Hey @Milo_911!

That is very odd, usually there would be something like
UATHelper: Packaging (Windows (64-bit)): D:/Program Files (x86)/UE_4.21/Engine/Plugins/Marketplace/MultiPacker/Source/MultiPackerRuntime/Public/TileUtils/TilePointer.h(18) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module
for example, that would specify where that error is.

Could you attempt to package again and see if you get a longer log? Also, as a relevant side not, do you have any older plugins in your project?

1 Like

Just packaged it again, it immediately fails with the same exact error from above :confused:

I have about a dozen plugins enabled, but all of them meet my current engine version.

Update! After restarting the engine and packing a few more times, I managed to get that UTAHelper message along with the error -

UATHelper: Packaging (Windows (64-bit)): C:/Program Files/Epic Games/UE_4.26/Engine/Plugins/Marketplace/ProceduralAnimationFramework/Source/ProceduralAnimationFramework/Public/ProceduralMovementComponent.h(75) : LogCompile: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
UATHelper: Packaging (Windows (64-bit)): C:/Program Files/Epic Games/UE_4.26/Engine/Plugins/Marketplace/ProceduralAnimationFramework/Source/ProceduralAnimationFramework/Public/ProceduralMovementComponent.h(77) : LogCompile: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
UATHelper: Packaging (Windows (64-bit)): C:/Program Files/Epic Games/UE_4.26/Engine/Plugins/Marketplace/ProceduralAnimationFramework/Source/ProceduralAnimationFramework/Public/ProceduralMovementComponent.h(79) : LogCompile: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
UATHelper: Packaging (Windows (64-bit)): C:/Program Files/Epic Games/UE_4.26/Engine/Plugins/Marketplace/ProceduralAnimationFramework/Source/ProceduralAnimationFramework/Public/ProceduralMovementComponent.h(81) : LogCompile: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.
PackagingResults: Error: An explicit Category specifier is required for Blueprint accessible functions in an Engine module.

Looks like your problem originates from Procedural Animator Framework, as that plugin seems to be 4.26 only, and since you are working in 4.27 it is incompatible with your current project. I would check the solution in the prior linked thread to see if that acts as a fix for you.

I hope this helps correct your problem at hand.

You need to add a

Category=“Something”

to every UPROPERTY or UFUNCTION that is exposed to Blueprints, the error shows you which lines are missing that specifier, edit the file ProceduralAnimationFramework/Source/ProceduralAnimationFramework/Public/ProceduralMovementComponent.h at lines 75, 77, 79 and 81

9 Likes

Strangely, I never get this error anywhere (not when building, not when packaging), but when I send my plugins to FAB their build process does it. They don’t answer why.

For those who don’t understand, here’s a visual example:

Before:

// Updates the quad size and points
UFUNCTION(BlueprintCallable)
void SetQuadSize(FVector2D NewSize);

After:

// Updates the quad size and points
UFUNCTION(BlueprintCallable, Category = "Something")
void SetQuadSize(FVector2D NewSize);

Be careful when copying, as quotes may not be recognized correctly.

Had the same experience, when building there was no error on our devices (tried on multiple ones) but there were weird errors when they built it, in the end after contacting fab support and giving them log files and consulting, the problem was solved

Their build process must differ from ours, through that automation tool thing?

Currently I am having no good experience at all, since all my published “Live” products refuse to show up on FAB for two weeks now, except for two.

It seems each time I submit one for approval their systems are part automated part person checking it. Some aren’t very strict, like I’ve had an earlier version of a plugin approved with no date in the copyright notice, while a next listing was rejected for it needed the date in the copyright notice etc. Once they got an error on their own systems and sent their own system log to me as a “build error”… So what I did is just resubmit the exact same thing and it got approved :slight_smile: .

Most likely. My plugin target platform was android and their build script was a lot different than mine.

That sucks, I hope it gets better, when I first submitted my plugin it took 2 months and 6 or 7 time before it got accepted

Lol, that’s hilarious and messed up