Download

How to subclass USignificanceManager plugin

I want to use epic’s SignificanceManager plugin in my project




// At the top .. In the Engine/Plugin code

UCLASS(config=Engine, defaultconfig)
class SIGNIFICANCEMANAGER_API USignificanceManager : public UObject
{
    GENERATED_BODY()

//
// Later...
//

private:
    // Game specific significance class to instantiate
    UPROPERTY(globalconfig, noclear, EditAnywhere, Category=DefaultClasses, meta=(MetaClass="SignificanceManager", DisplayName="Significance Manager Class"))
    FSoftClassPath SignificanceManagerClassName;


Then in my code I could do this




// Inside an AActor function

if (GetWorld())
{
      // Works
     USignificanceManager* SM = USignificanceManager::Get(GetWorld());

     // Does not work, because classname is wrong
     UMySignificanceManager* MySM = USignificanceManager::Get<UMySignificanceManager>(GetWorld());
}


How do I override “FSoftClassPath SignificanceManagerClassName” variable to point to my own subclass of SignificanceManager? This is a private variable, so maybe set in DefaultEngine.ini? but how?

I’ve been stuck on this for the better part of the day. I finally give up and post on the forum then 5 secs later it is working.

For anyone interested the correct thing to do is update Config/DefaultEngine.ini



[/Script/SignificanceManager.SignificanceManager]
SignificanceManagerClassName=/Script/Custom_GameModule.Custom_MainSignificanceManager


Where the Custom_* is your game’s module and you subclass of the manager.