I’m making an HUD components library but i’m running in a problem with components using the “FTickableGameObject” class along with the PlayerController. The game breaks (with a 30% chance) when hitting the “STOP” button in the editor.
The break is generated in the Tick event and reports:
First-chance exception at 0x000007FEE725E2E8 (UE4Editor-CoreUObject.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000004300000052. Unhandled exception at 0x000007FEE725E2E8 (UE4Editor-CoreUObject.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000004300000052.
The code generating the break is the following:
if (!(HUDPlayerController)) return; //trying to skip the break if (HUDPlayerController->IsPendingKillPending()||HUDPlayerController->IsPendingKill()) return;//trying to skip the break float mouseX = 0; float mouseY = 0; UHUDCComponent::HUDPlayerController->GetMousePosition(mouseX, mouseY); //this line generates the break bool currentMouseState = UHUDCComponent::HUDPlayerController->IsInputKeyDown(EKeys::LeftMouseButton);
I can imagine that it’s something related to the PlayerController being disposed before the tick event stops but i tried checking the “IsPendingKill” value for that reason with no luck.
What should be the correct way to use the Player Controller in an FTickableGameObject object? Any ideas on how i can solve this?
Thanks in advance.
Ps:i even tried wrapping it with a try/catch but the exception still stops the execution.