Crash on garbage collection of WidgetInteraction Component
I've had a long time problem with my mod (UEVR Enhancements) that it crashes whenever the player returns to main menu. The error is an EXCEPTION_ACCESS_VIOLATION on deallocating a WidgetInteraction Component.
I believe this is an upstream engine bug, but it's unlikely the main game or other mods use the WidgetInteraction Component - but my mod relies on it.
To replicate the problem:
- Add an Actor to the Example Mod called "CrashTestActor" and add a "WidgetInteraction" Component to it
- Spawn the Actor in the world (eg; at player pawn location) on load
- Load the game and load into the world
- Exit to main menu
How can I escalate this upstream to try and get it resolved?
Crash details attached.
11 Replies
CrashTestActor:

Adding CrashTestActor to the world:

...called from "RootGameWorld_ExampleMod" on Initialization.
what does the WidgetInteraction component do and what does your mod need it for?
I’m not sure what’s happening, but I believe in the past there has been commits to the CSS Unreal Engine repo that got merged by Coffee Stain, iirc
The WidgetInteraction component is used in my mod attached to VR controllers which follow the users hands. They are used to handle interactions with world-space widgets, namely the wrist menus that I have implemented.
So the user would use their left hand to point at a menu floating above their right hand to select equipment, scan for resources, etc...
Actually - the reverse. But you get the idea. 😆
you might be able to use the widget material system that the hoverpack controllers use if you can't find a workaround for this... but I don't think it offers the same level of interactivity
This is a component to allow interaction with the Widget Component. This class allows you to simulate a sort of laser pointer device, when it hovers over widgets it will send the basic signals to show as if the mouse were moving on top of it. You'll then tell the component to simulate key presses, like Left Mouse, down and up, to simulate a mouse click.Thing is - it works perfectly fine, and you can play for hours without any problems. But when the world unloads, like returning to the main menu, then the crash happens. It also means that in a Network game, if the user gets a Network disconnect, the user gets the crash, rather than returning to the menu to be able to reconnect. It's a standard Unreal Engine component, so perhaps it's been affected by other engine customisations, or perhaps wasn't kept up to date with the engine migrations?
Does it work in a vanilla engine?
Yes. It's used in other UE engines - it's a standard part of the VR widget interaction toolkit.
But could also be used in a flat game through, eg; pointing a weapon at an in-world widget selection.
Epic Games Developer
UMG Widget Interaction Components in Unreal Engine | Unreal Engine ...
Outlines how to use the Widget Interaction Component to interact with 3D Widgets.