Physics Handle grabs loosely on spawned actors

I am currently working on a VR project that uses Physics Handles in conjunction with motion controllers to allow the player to pick up objects and move them around. However, while this system works great for objects that exist when the level loads, picking up objects spawned dynamically at runtime causes the physics handle to feel loose and sloppy, as though they’re handling the object at the end of a thick string.

While there’s a lot of targeting that happens beforehand, the basic grab looks like this:

The input to Component is the object I have targeted to grab, and the input into Grab Location is the closest point on the object’s collision (drawn from the controller).

Then, on Update, I move and turn the object with the controller using the following:

This creates a system that maintains the location and rotational offset between the object and the controller as the player picks it up and moves it around, allowing them to examine it from all sides. My problem is that objects (blueprint objects, mostly) spawned during gameplay work differently, and I can’t figure out why. As previously mentioned, they feel like the grab is too loose, and they tend to drift down and away from the controller and lag behind its movements. This makes them very difficult to throw or move around at all. I suspect it’s something to do with the spawning (I’m using Spawn Actor from Class) rather than the object itself, as I use other instances of the exact same blueprint placed in the editor that work fine.

For reference, my spawn looks like this:

How can I make these spawned objects behave with the same tight responsiveness to the physics handle as those placed in the editor?

If anyone can provide any insight about this problem, I’m still looking for an answer. Thank you!

I don’t think using physics handles is a good method for ‘holding’ objects in VR. The physic handle has stiffness and damping settings but even a very large stiffness doesn’t remove the lag you are seeing.

I’ve been experimenting with attach to actor and that allows a solid ‘welded’ attachment. Haven’t quite got it right yet but it’s more promising than the physics route.

If you adjust the interpolation speed property of the physics handle (lower it to around 5), you should get a nice loose feel on your physics handle.

Thank you, but I’d rather have the subsequently spawned objects have a tighter feel. Do you know if the Interpolation Speed property can be modified through Blueprint after the fact, so I can turn it up when grabbing newly spawned objects?

No problem. If you have a reference to your Physics Handle component all you need to do is drag off a wire and type “set interpolation speed”. What you could do is through your bool check when you grab something, increase the interpolation speed. I would create a float var called interpSpeed and adjust that accordingly. Let me know if that works.

why create another float var if you already have one built in the phys handle?
there is no need in wasting more ram.
just use SetInterpolationSpeed and GetInterpolationSpeed on each handle