Two questions: Subsystems and Datatables

I’m making a subsystem that will manage my rooms (basically a Map with connections being Edges and Rooms being Nodes). Is there a way to view my subsystem in the editor to make sure I’ve loaded in the Map correctly.
Which brings me to the second part. I’m using Data Tables to store the Map information. How do I do the equivalent of Blueprints’s Get Data Table Row in C++. I found this thread https://forums.unrealengine.com/t/get-data-table-row-in-c/143296 but I don’t know how to get the pointer for the Data Table

You could make some custom UI for monitoring the subsystem, but the easiest thing to do would be to log something e.g. when it inits.

To get a data table pointer either do the hacky thing and load using a path in code, or add a data table pointer to a config/options class that you can surface in the project settings (then you get dropdown UI for picking it).

I decided to go down the log route, but must be doing something wrong. I’ve got my header as:

class MyGAME_API UMyGameInstanceSubsystem : public UGameInstanceSubsystem
{
	GENERATED_BODY()

public:
	virtual void Initialize();
}

and then the cpp file is:

void UMyGameInstanceSubsystem::Initialize()
{
	UE_LOG(LogTemp, Warning, TEXT("Initialize() called"));
}

and I’m not seeing it in Output Log when I play in the editor. I thought based on this Programming Subsystems | Unreal Engine Documentation Initialize() should have been called?

Your Initialize() has the wrong signature - you’re creating a new function instead of overriding a base class one! Always use override (e.g. virtual void Initialize() override;) in the declaration if your intention is to override a base class method, that way you’ll get a compile error if nothing was overridden.

Correct signature looks to be virtual void Initialize(FSubsystemCollectionBase& Collection) override. Have a look a Subsystems.h for the other base class methods you can override.

Thank you! I actually had virtual void Initialize() override; initially and didn’t understand the compile error and thought I was using it incorrectly, so I removed override. I haven’t used C++ in a while so I’m messing up a lot on the syntax and signatures.