I have narrowed down the issue to the APlayerController::TickActor being called on what appears to be a NULL object when I attempt to open the TankPlayerController blueprint. TickActor in turn calls AimTowardsCrosshair which then calls AimAt in the ATank class. In that function it attempts to access myAimingComponent which does not exists and causes an access violation crashing the engine.
I have no idea how this is happening or why these functions would even run when attempting to open a blueprint. Any help would be greatly appreciated. Here is a link to the project, to reproduce the issue all you have to do is open it in UE 4.15.1 and attempt to open the TankPlayerController blueprint, then comment out the line of code in ATank::AimAt and recompile and the issue disappears.
Crash Log:
LoginId:0afbd64e46a3a651692f4aa8eeb5d465
EpicAccountId:44d749521f244c0c9738673195650bc2
Access violation - code c0000005 (first/second chance not available)
UE4Editor_BattleTanks_8030!ATank::AimAt() [x:\dropbox (chashu entertainment)\john's stuff\ue4_udemy\battletanks\source\battletanks\tank.cpp:33]
UE4Editor_BattleTanks_8030!ATankPlayerController::AimTowardsCrosshair() [x:\dropbox (chashu entertainment)\john's stuff\ue4_udemy\battletanks\source\battletanks\tankplayercontroller.cpp:36]
UE4Editor_Engine!APlayerController::TickActor() [x:\repositories\unrealengine\engine\source\runtime\engine\private\playercontroller.cpp:4155]
UE4Editor_Engine!FActorTickFunction::ExecuteTick() [x:\repositories\unrealengine\engine\source\runtime\engine\private\actor.cpp:125]
UE4Editor_Engine!FTickFunctionTask::DoTask() [x:\repositories\unrealengine\engine\source\runtime\engine\private\ticktaskmanager.cpp:269]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [x:\repositories\unrealengine\engine\source\runtime\core\public\async\taskgraphinterfaces.h:883]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [x:\repositories\unrealengine\engine\source\runtime\core\private\async\taskgraph.cpp:954]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [x:\repositories\unrealengine\engine\source\runtime\core\private\async\taskgraph.cpp:701]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [x:\repositories\unrealengine\engine\source\runtime\core\private\async\taskgraph.cpp:1798]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [x:\repositories\unrealengine\engine\source\runtime\engine\private\ticktaskmanager.cpp:538]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [x:\repositories\unrealengine\engine\source\runtime\engine\private\ticktaskmanager.cpp:1450]
UE4Editor_Engine!UWorld::RunTickGroup() [x:\repositories\unrealengine\engine\source\runtime\engine\private\leveltick.cpp:758]
UE4Editor_Engine!UWorld::Tick() [x:\repositories\unrealengine\engine\source\runtime\engine\private\leveltick.cpp:1373]
UE4Editor_Kismet!FSCSEditorViewportClient::Tick() [x:\repositories\unrealengine\engine\source\editor\kismet\private\scseditorviewportclient.cpp:202]
UE4Editor_UnrealEd!UEditorEngine::Tick() [x:\repositories\unrealengine\engine\source\editor\unrealed\private\editorengine.cpp:1698]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [x:\repositories\unrealengine\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
UE4Editor!FEngineLoop::Tick() [x:\repositories\unrealengine\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
UE4Editor!GuardedMain() [x:\repositories\unrealengine\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [x:\repositories\unrealengine\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [x:\repositories\unrealengine\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll