No, I haven’t created one yet.
on the game thread instead, i.e.
After determining the position, velocity, and rotation in BP, we implemented the ability to adapt it to the values of the physical thread.
Looks like we’re still supposed to do asynchronous physics in C++?
Yes, probably.
Because it is moved by physical calculation, it is necessary to perform repeated processing at fixed time intervals, which is not compatible with BP that is assumed to be event-driven. I think it’s best to do it in C++, including in terms of performance.
Furthermore, there is a bug in the AddForce function that can be accessed from Get Body Instance Async Physics Tick Handle published on BP.
When I call it, it freezes for a few seconds.
I think the reason is that access from the game thread is not safe.
In any case, from the BP and also from the C++ side
Get type
・GetComponent Velocity
・GetActorLocation
Set type
・SetPhysicsLinearVelocity
・SetActorLocation
etc. are values on the game thread, so to access the values on the physical thread you need to access them from the C++ side.