I had considered this fix before but it seems to create other problems for the system. It does fix the touched events not firing bug, but for whatever reason it entirely breaks nearly any raycast-based weapon system I’ve tried with it, with the issue appearing to be serious inconsistencies between player limbs and weapon parts on the server versus on the client.
I did some more testing today to see if these problems could be mitigated still to no avail - but I will continue looking for a complete solution to this issue.
I’m going to try suggesting possible fixes, please don’t cringe as I’m only basing this off the evidence in this post; I HAVEN’T CHECKED THE SOURCE CODE YET.
What you could do is locally build a completely new rig from scratch in Workspace. Give it everything a normal rig has: a head, torso, arms, legs, Humanoid, Motor6Ds, the works. Make every part the same size and position as its real character equivalent. Clone any tools, parent it to the fake rig, then set all the body parts’ LocalTransparencyModifier to 1 except for left and right arms. Make them all anchored, massless, untouchable (CanTouch = false), and unqueryable (CanQuery = false). Clone the real character’s shirt onto that fake rig and give the fake rig the same skin color. Repeat for everything; essentially just build a new player character clone. It should appear as a pair of arms floating. Ensure that HumanoidRootPart is the primary part.
Do all the fun arm movement calculations on the fake rig. You can also call :PivotTo() to ensure the fake rig is at the same position as the real character.
Listen for tool updates on the real character, and update their respective fake Instances as needed. This should work as you’re not affecting any stuff on the server. As the server isn’t seeing the stuff you made locally, .Touched events on the server should be unaffected. This leaves the real arms unaffected.
Hope this helps
I may have gone overboard with the fixes… which might not even work
Hey, thanks for creating this! I wanted to share that I created a fork of this system to massively improve the codebase, add optimizations, and fix a few unhandled issues! https://github.com/MonzterDev/First-Person-Camera-Roblox
This resource is awesome! Keep up the good work! I have a slight problem. I’m currently making a grappling gun game, but when I attach rope constraints to the tool, it doesn’t block the player from moving more and just stretches the rope constraint. Without the script, it works.
I’m having a bug, when I fire my gun the projectile doesn’t come out from the correct point in the viewmodel its kinda rare but is still game breaking when it happens. (I’m using fe gun kit)