Ninja Bear Studio Plugins Help

Faction Database

The Faction Database determines the original location from where Faction Data Assets are obtained. It is used by the Faction Subsystem to retrieve Faction information.

Available Database

The system provides a Faction Database based on the Asset Manager, loading Data Assets available in the project. This database requires the Faction Data Asset to be properly configured in the Asset Manager, as per the Setup page.

Creating Databases

Projects can use create their own Faction Database by extending NinjaFactionDatabase. This can be done in Blueprints or C++.

In this example, a "List-Based Database" will be created, where assets are loaded from a pre-defined list.

Faction Database Example
#pragma once #include "CoreMinimal.h" #include "NinjaFactionDatabase.h" #include "FactionDatabase_DataList.generated.h" UCLASS(DisplayName = "Faction Database: Data List") class PLUGINLABS_API UFactionDatabase_DataList : public UNinjaFactionDatabase { GENERATED_BODY() public: // -- Begin Faction Database implementation virtual void GetFactions_Implementation(TArray<UNinjaFactionDataAsset*>& OutFactions) const override; // -- End Faction Database implementation protected: UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Factions") TArray<UNinjaFactionDataAsset*> Factions; };

#include "FactionDatabase_DataList.h" void UFactionDatabase_DataList::GetFactions_Implementation(TArray<UNinjaFactionDataAsset*>& OutFactions) const { // Easy-peasy! ;) OutFactions = Factions; }
Last modified: 15 September 2024