Error: Attach Static Mesh to Root Component

Hey everyone,

I am just getting into the C++ aspect of Unreal Engine and I am coming across a problem right off the bat. When trying to attach a UInstancedStaticMeshComponent to a root component I get an error when simulating the scene regardless if I referenced a mesh or not. Below is the code that I am trying to get to compile so far:

#include "HordeActor.h"

void AHordeActor::PostInitializeComponents()
{
	Super::PostInitializeComponents();
}

AHordeActor::AHordeActor(const class FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
	pSphereComponent = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(this, "CollisionSphere");
	if (pSphereComponent)
	{
		pSphereComponent->InitSphereRadius(horderadius);
		RootComponent = pSphereComponent;
	}
	
	
	pStaticMeshInstanceComponent = ObjectInitializer.CreateDefaultSubobject<UInstancedStaticMeshComponent>(this, TEXT("InstancedMeshes"));
	if (pStaticMeshInstanceComponent)
	{
		pStaticMeshInstanceComponent->AttachParent = RootComponent;
	}
}

The Editor immediately crashes if I run Simulate while the actor is in the scene. Here is the error report:

Unknown exception - code 00000001 (first/second chance not available)

"Assertion failed: !bRegistered || AttachParent->AttachChildren.Contains(this) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Runtime\Engine\Private\Componen

KERNELBASE
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:355]
UE4Editor_Engine!USceneComponent::DetachFromParent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\components\scenecomponent.cpp:1335]
UE4Editor_Engine!USceneComponent::AttachTo() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\components\scenecomponent.cpp:1169]
UE4Editor_Kismet!FSCSEditorTreeNode::AddChild() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:540]
UE4Editor_Kismet!FSCSEditorTreeNode::AddChildFromComponent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:578]
UE4Editor_Kismet!SSCSEditor::AddTreeNodeFromComponent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:5327]
UE4Editor_Kismet!SSCSEditor::UpdateTree() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:4350]
UE4Editor_LevelEditor!SActorDetails::SetObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\leveleditor\private\sactordetails.cpp:233]
UE4Editor_LevelEditor!SLevelEditor::OnActorSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\leveleditor\private\sleveleditor.cpp:1412]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,TTypeWrapper<void> __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,void __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_LevelEditor!TBaseMulticastDelegate<void,TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool>::Broadcast() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:1031]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindowsFromActorList() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorhook.cpp:92]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindows() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorhook.cpp:83]
UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:2950]
UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:2267]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:983]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorengine.cpp:1236]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\unrealedengine.cpp:366]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launchengineloop.cpp:2355]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

I tried replacing

pStaticMeshInstanceComponent = ObjectInitializer.CreateDefaultSubobject<UInstancedStaticMeshComponent>(this, TEXT("InstancedMeshes"));
	if (pStaticMeshInstanceComponent)
	{
		pStaticMeshInstanceComponent->AttachParent = RootComponent;
	}

With the code:

pStaticMeshInstanceComponent = CreateDefaultSubobject<UInstancedStaticMeshComponent>(TEXT("InstancedMeshes"));
	pStaticMeshInstanceComponent->AttachTo(RootComponent);

And the code will remain stable when running a simulation, but as soon as I reference a mesh and simulate the editor crashes again with the following error:

Unknown exception - code 00000001 (first/second chance not available)

"Assertion failed: !bRegistered || AttachParent->AttachChildren.Contains(this) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Runtime\Engine\Private\Componen

KERNELBASE
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:355]
UE4Editor_Engine!USceneComponent::DetachFromParent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\components\scenecomponent.cpp:1335]
UE4Editor_Engine!USceneComponent::AttachTo() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\components\scenecomponent.cpp:1169]
UE4Editor_Kismet!FSCSEditorTreeNode::AddChild() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:540]
UE4Editor_Kismet!FSCSEditorTreeNode::AddChildFromComponent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:578]
UE4Editor_Kismet!SSCSEditor::AddTreeNodeFromComponent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:5327]
UE4Editor_Kismet!SSCSEditor::UpdateTree() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\kismet\private\sscseditor.cpp:4350]
UE4Editor_LevelEditor!SActorDetails::SetObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\leveleditor\private\sactordetails.cpp:233]
UE4Editor_LevelEditor!SLevelEditor::OnActorSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\leveleditor\private\sleveleditor.cpp:1412]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,TTypeWrapper<void> __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,void __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_LevelEditor!TBaseMulticastDelegate<void,TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool>::Broadcast() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:1031]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindowsFromActorList() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorhook.cpp:92]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindows() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorhook.cpp:83]
UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:2950]
UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:2267]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\playlevel.cpp:983]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorengine.cpp:1236]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\unrealedengine.cpp:366]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launchengineloop.cpp:2355]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

If anyone has any idea as to why this is happening I would really appreciate it. (Sorry if the format of this question is strange, tips on how to properly format these questions would also be appreciated.)