Ninja Bear Studio Plugins Help

Asset Manager

Unreal Engine's Asset Manager provides a centralized way to identify, discover, load, and manage important game assets.

Some Ninja Bear Studio plugins use Primary Data Assets to define core gameplay data such as ability bundles, inventory items, inventory containers, bot setup data, and faction setup data. These assets are often referenced softly, loaded on demand, or queried as part of a runtime database.

Registering these assets with the Asset Manager allows the plugins to discover and load them reliably without requiring hard references everywhere in the project. This helps reduce unnecessary memory usage, keeps systems data-driven, and allows larger gameplay databases to remain scalable.

Adding Primary Assets

To add primary assets, register each required asset type in Unreal Engine's Asset Manager by defining its Primary Asset Type, Asset Base Class, scan directories, and cook rule.

Use the table below to add the required entries for each Ninja Bear Studio plugin enabled in your project.

Adding Primary Assets to the Asset Manager

  1. In the editor, open EditProject Settings.

  2. Navigate to GameAsset Manager.

  3. Find the Primary Asset Types to Scan list.

  4. Add a new entry for each asset type required by the plugins you are using.

  5. Set the Primary Asset Type and the Asset Base Class using the values listed in the table below, under Asset Name and Base Class columns.

  6. Select one or more Directories where assets of that type will be stored. Consider the suggested folder structure below, or adjust it to your needs.

  7. Set the Cook Rule to Always Cook.

  8. Save the project settings and restart the editor.

Use the following entries based on the plugins enabled in your project.

Plugin

Asset Name

Base Class

Purpose

Recommended Folder

Ninja Bot

BotSetupData

NinjaBotSetupDataAsset

Defines perception, awareness, and related setup data used by AI agents.

/Game/Data/Bots

Ninja Combat

FirearmData

NinjaCombatFirearmDataAsset

Defines features related to firearms in the combat system.

/Game/Data/Firearms

Ninja G.A.S.

AbilityBundleData

NinjaGASDataAsset

Bundles Attribute Sets, Gameplay Effects, and Gameplay Abilities to be granted.

/Game/Data/Ability/Bundles

Ninja Factions

FactionSetup

NinjaFactionDataAsset

Defines faction data used for memberships, reputation, and attitude resolution.

/Game/Data/Factions

Ninja Inventory

InventoryContainerData

NinjaInventoryContainerDataAsset

Defines inventory containers, which represent regions or areas where items can be stored.

/Game/Data/Containers

Ninja Inventory

InventoryItemData

NinjaInventoryItemDataAsset

Defines inventory items through fragments and reusable item data.

/Game/Data/Items

Modifying DefaultGame.ini

Alternatively, you can add the following entries to your DefaultGame.ini file.

If you decide to configure the Asset Manager this way, make sure to keep any existing entries already present under AssetManagerSettings, either before or after the entries below. Add only the entries required by the plugins enabled in your project.

[/Script/Engine.AssetManagerSettings] +PrimaryAssetTypesToScan=(PrimaryAssetType="AbilityBundleData",AssetBaseClass="/Script/NinjaGAS.NinjaGASDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Abilities/Bundles")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +PrimaryAssetTypesToScan=(PrimaryAssetType="InventoryContainerData",AssetBaseClass="/Script/NinjaInventory.NinjaInventoryContainerDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Containers")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +PrimaryAssetTypesToScan=(PrimaryAssetType="InventoryItemData",AssetBaseClass="/Script/NinjaInventory.NinjaInventoryItemDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Items")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +PrimaryAssetTypesToScan=(PrimaryAssetType="FirearmData",AssetBaseClass="/Script/NinjaCombatFirearm.NinjaCombatFirearmDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Firearms")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +PrimaryAssetTypesToScan=(PrimaryAssetType="FactionSetup",AssetBaseClass="/Script/NinjaFactions.NinjaFactionDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Factions")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +PrimaryAssetTypesToScan=(PrimaryAssetType="BotSetupData",AssetBaseClass="/Script/NinjaBot.NinjaBotSetupDataAsset",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Data/Bots")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook))
21 May 2026