So, along with the force grab and push mechanics, the actual objects need to work well too!
The past few days I've been focusing on the combat with enemies to make it as satisfying as possible. This, of course, starts with guns.
So far everything has ben working out well: The guns function as similar to real world pistols as possible, with working slide racks, magazines, a safety, and bullets. Each magazine has ten rounds in it, and when the gun is empty, it will drop out. You can then find more in the world and either pop them into your trusty pistol, or put them into your pocket for later.
Additionally, after you insert a magazine into the gun, in order to fire it, you have to rack the gun, just like in real life.
The reason I opted for instantiating actual bullet objects and applying a force to them, rather than just using a raycast (invisible line that calculates the hit point), is because I won't have to worry about choosing what objects to apply a force to when they're hit. This way, static objects won't move, and non-static objects will! Easy enough!
For the enemies, each of their body parts are connected with joints, so they react similar to how a real object reacting to a bullet would.
Thanks for reading!