VR Expansion Plugin

I added a check to the motion controller where if the held object is a destructible component that is currently (just) fractured then it auto drops it and prints a warning to the log that such objects should be dropped before fracturing.

I was right, when fracturing it removes its scene reference and re-creates them in the async scene, normally wouldn’t be a big deal except the engines ComponentMultiOverlap function crashes on getting the objects physx scene shapes after fracturing (not exactly a plugin bug I guess). Also it leaves the object in hand which eats up resources so it shouldn’t be like that anyway.

If you want a cleaner way to handle held destructibles I would actually suggest having a grippable actor with a primitive root component and then a destructible mesh component attached to that root component. That way you are not directly constraining the object that will fracture and can work out some neat effects with it.

Regardless the check in in the plugin now, I am not entirely sure that I SHOULD be checking for , or whether I should be enforcing proper cleanup on the part of the user but until I make up my mind I added it in.

Pushed new commit to the template/ plugin


Fixed Vivecharacter not picking up base simulating actors anymore (when changing for the new IsHeld interface function I set a node wrong)

Added the plugins new check for destructible components being fractured, not entirely sure that I should even be doing .
In the future I may force the end user to properly clean up destructible meshes instead by dropping them or attaching them to
a root component that is gripped instead.

Currently auto drops the held component when it detects fracturing


[/QUOTE]

First of all thank you very much for yourf work!

I tried to attach the destructible mesh to a static one that dissappears when the destructible fractures, but it causes instant fracture, which is undesirable. I don’t know if you mean another thing by primitive root component.

Again thanks in advance