Blueprint subclass of custom Volume actor crashes

  1. Create a subclass of ‘AVolume’ actor in C++ and mark the class as ‘Blueprintable’
  2. Create a blueprint with its parent set to this custom volume.
  3. From the components screen set the brush shape of the volume’s brush component to any value (eg: BoxBuilder)
  4. The editor crashes.

I can workaround this by avoiding volumes altogether and instead using Shape components to serve as trigger volumes. However I really like using actual trigger volumes because their brush based setup allows for highly intuitive volume creation, eg: by allowing vertex level manipulation just like one is editing a BSP brush.

I realize this is a bit of a gray area as far as classifying the issue as a ‘bug report’ is concerned but any hints to help me fix the issue would be much appreciated. My guess is that because the parent class ABrush explicitly prevents the class from being blueprintable, in addition to overriding that flag in my subclass maybe there’s some other property that I need to be setting as well. Appreciate your insight.

Hey -

Thanks for reporting this bug. I was able to reproduce this myself and have submitted it to our internal tracking system (UE-5530) for further investigation. For the time being, you will need to use the workaround you mentioned or add the same functionality to a basic trigger volume.

Cheers

Thanks a lot ! I’ll use the workaround for now.

Still happens in 4.10.4

Hey Trout Zhang-

The bug report for this issue is still open in our system and I’ve added a comment to it to indicate that this is still affecting people. Let me know if you are able to use 's workaround of using a component as a trigger instead.

Is this bug still present in newer version >4.11 ?

I have the same problem. Is it somehow possible to create a BrushComponent like UCubeBuilder in the code constructor?
I want to use the hollow functionality.

Hey -

This issue is still open (Unreal Engine Issues and Bug Tracker (UE-5530)) however you can work around it as mentioned by using shape components and their “OnOverlapBegin/End” events to mimic the functionality of a trigger volume.

Issue still occurs in 4.18.3. C++ classes derived from ATriggerVolume work fine, but blueprint classes deriving from those subclasses crash as reported.

Replying here because UE-5530 was closed as “Won’t fix”

Issue still occurs in 4.21.2. and it’s still closed, I do not understand why they miss this when it’s such an important issue.

Now it’s “Won’t fix”. I’m trying to figure out how to create an actual volume of my OWN type, not just one of the preset volumes. I guess I could use trigger volume and just do whatever I want instead of processing the trigger, but that seems wrong.

Is there any other way to create a volume that can do what you want, and have it be visible / editable in the same way other volumes work?

Bump, same for this, trying to create a really simple TriggerVolume that has the same brush characteristics of audio and other volume actors… Getting this error when trying to create a basic ‘Blueprintable, BlueprintType’ subclass in C++:

Came across a C++ workaround on StackOverflow but not much detail on how to implement it. Can a C++ Guru help?

This is quite old, but you have to override ShouldCheckCollisionComponentForErrors() but also use UActorFactory::CreateBrushForVolumeActor() to create the brush. The easiest way to do this is to create an Editor module and create an actor factory for your volume, extending UActorFactoryBoxVolume .

It would be nice for this to be a baseline subclassable engine volume