Download

4.25 Custom UFactory not showing up in Context Menu?

Wrote here two days ago but got no response so far , just want to know if it’s an engine bug or a change since 4.24 or what?
https://answers.unrealengine.com/que…6478/view.html

Basically creating a custom factory doesn’t make it show up in the right click menu in content browser to create new asset any more?

Im also on 4.25, and my UFactory isn’t showing up either, wrote this as a test, but it’s not in the context menu.

Header


#pragma once

#include "CoreMinimal.h"
#include "Factories/Factory.h"
#include "CustomAssetRenameLaterFactory.generated.h"

class UCustomAssetRenameLater;

UCLASS(hidecategories = Object)
class ASD_API UCustomAssetRenameLaterFactory : public UFactory
{
GENERATED_UCLASS_BODY()

public:

UCustomAssetRenameLaterFactory();

virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;

private:

UCustomAssetRenameLater* MakeNewCustomAssetRenameLater(UObject* InParent, FName Name, EObjectFlags Flags);
};

CPP


#include "CustomAssetRenameLaterFactory.h"
#include "CustomAssetRenameLater.h"

UCustomAssetRenameLaterFactory::UCustomAssetRenameLaterFactory(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
bCreateNew = true;
bEditAfterNew = true;
SupportedClass = UCustomAssetRenameLater::StaticClass();
}

UObject* UCustomAssetRenameLaterFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn)
{
UCustomAssetRenameLater* CustomAsset = nullptr;
if (ensure(SupportedClass == Class))
{
ensure(0 != (RF_Public & Flags));
CustomAsset = MakeNewCustomAssetRenameLater(InParent, Name, Flags);
}

return CustomAsset;
}

UCustomAssetRenameLater* UCustomAssetRenameLaterFactory::MakeNewCustomAssetRenameLater(UObject* InParent, FName Name, EObjectFlags Flags)
{
return NewObject<UCustomAssetRenameLater>(InParent, Name, Flags);
}

The UObject asset that Im trying to create:


#pragma once

#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "CustomAssetRenameLater.generated.h"

UCLASS()
class ASD_API UCustomAssetRenameLater : public UObject
{
GENERATED_BODY()

protected:

UPROPERTY(VisibleAnywhere, Category = "Change Later")
FString Description;

UPROPERTY(VisibleAnywhere, Category = "Change Later")
bool bIsActive;
};

Did you ever solve this?