Error opening custom asset editor

Hey guys,

I have a custom asset intended to be data represented in a graph much like a behavior tree or blueprint.

I have the asset able to be created in the content browser, but when I try to open it with my custom editor class I get this error:

Assertion failed: PairId.IsValidId() [File:D:\Build\++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Map.h] [Line: 1018] 



KERNELBASE
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_AttackSystemPlugin!FAS_Editor::`scalar deleting destructor'()
UE4Editor_AttackSystemPlugin!FAS_AttackSystemAssetActions::OpenAssetEditor() [e:\p4workspace_supercaffeinated\attacksystemproject\attacksystemproject\plugins\attacksystemplugin\source\attacksystemplugin\private\as_attacksystemassetactions.cpp:32]
UE4Editor_UnrealEd
UE4Editor_AttackSystemPlugin!FAssetTypeActions_Base::AssetsActivated() [e:\installs\unreal engine\4.15\ue_4.15\engine\source\developer\assettools\public\assettypeactions_base.h:50]
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_ContentBrowser
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
user32
user32
UE4Editor_Core
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll

I’ve been chasing down “PairID.IsValid” and anything slate based, but I can’t narrow down where this error is trying to point me. The system for making a custom editor is so complex I don’t know where to start.

The line it refers to on as_attacksystemassetactions.cpp:32 is:

void FAS_AttackSystemAssetActions::OpenAssetEditor(const TArray<UObject*>& InObjects, TSharedPtr<class IToolkitHost> EditWithinLevelEditor)
{
	const EToolkitMode::Type Mode = EditWithinLevelEditor.IsValid() ? EToolkitMode::WorldCentric : EToolkitMode::Standalone;

	for (auto ObjIt = InObjects.CreateConstIterator(); ObjIt; ++ObjIt)
	{
		if (UAS_AttackSystem* AttackSystem = Cast<UAS_AttackSystem>(*ObjIt))
		{
			TSharedRef<FAS_Editor> NewASEditor(new FAS_Editor());
			NewASEditor->InitAttackSystemEditor(Mode, EditWithinLevelEditor, AttackSystem);
		}  <----------- line 32
	}
}

I’ve been trying to mimic the paper2d plugin code with success until this point. Anyone familiar with making editors and junk that can chime in?