aquanox/SubsystemBrowserPlugin

Game Instance Subsystem Not found

Closed this issue · 1 comments

in both UE_5.1.1 and UE_5.2.1
I have a subsystem that is child of UGameInstanceSubsystem.
that will need a UDataTable assigned to it. I was hoping to do it through the plugin, but it does not appear in the browser to avoid hard references.

the Browser does show the child of UTickableWorldSubsystem that I created, and it is performing as expected.

steps to reproduce:

  • in project "SubSTest" as C++ project
  • added SubsystemBrowserPlugin to Plugins folder in project Root
  • had to modify in accordance with Issue#9: in SubsystemBrowserUtils.cpp comment out
    // ADD_FLAG(CLASS_NoExport);
    // ADD_FLAG(CLASS_CustomConstructor);
  • opened project by Compile and Run
  • created UGISubTest as derived from UGameInstanceSubsystem
  • gave UGISubTest required code
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "GISubTest.generated.h"

/**
 * 
 */
UCLASS()
class SUBSTEST_API UGISubTest : public UGameInstanceSubsystem
{
	GENERATED_BODY()
public:
	// Begin Subsystem Required
	virtual void Initialize(FSubsystemCollectionBase& Collection) override
	{
		Super::Initialize(Collection);
	}
	virtual void Deinitialize() override
	{
		Super::Deinitialize();
	}
	// End Subsystem Required

	UFUNCTION(BlueprintCallable)
	void TestFunction()
	{
		UE_LOG(LogTemp, Error, TEXT("Subsystem Was created"));
	}
};
  • compiled and ran (no errors)
  • opened Window-> Subsystem
  • scrolled down to GameInstanceSubsystems (index has no children)
  • blueprint able to place "Get GISubTest" and call "TestFunction()"

expected behavior there should be an entry for GISubTest (even if it has no members)

Editor does not activate a GISS unless you launch PIE. WorldSS are present in both editor world and PIE.
Make sure you in correct mode.
For subsystems in plugins, make sure plugin is loaded in log or debug breakpoint (since you see the get node = it is loaded)