This is a paid asset, but now you can download Interactor – Interaction Handler for IK Free.
Detail this asset from Unity Store: Original Link
Interactor – Interaction Handler for IK v0.65
Interactor designed create new interactions (in seconds) that involve body movements without any animation file. Comes with InteractorIK but also has one-click switch for fully integrated Final IK.
Interactor designed to cover all aspects of any kind of interaction, from the designing stage in the editor to handling complex interactions in runtime. It contains editor tools to simplify process of preparing a fully interactable environment. And in runtime, it handles which player parts are going to interact with which parts of the interacted object, while using its own IK to animate player bones. Comes with InteractorIK but also has one-click switch for fully integrated Final IK. You can change between those with a simple click anytime in seconds.
Interactor is in Beta stage right now and because of that, it has discounted price for early adopters.
Online Documentation | Forum Thread | Support | Other Tutorial Videos
One Trigger to rule them all
You don’t need triggers for every interactable object. Moving triggers even cost more performance. You just need one trigger and that is on the player with Interactor. Interactor checks only the player’s trigger and those inside this trigger.
Design with style
Why only players have good looking user interfaces but not developers? Interactor’s fancy menus are optimized to not affect your editor workflow & performance. They’re not noticeable (Almost the same with regular Inspector UI) and even have zero performance effect when the cursor is not on them. Furthermore, Interactor designed that way in mind and can be used even the player or objects are not selected. All gizmos are toggleable and all effector & target settings can be done by staying in fullscreen SceneView with Interactor completely closed (Folded).
How does it work?
– Set Your Player Parts
Which parts of the player can interact? Add an “effector” for each one of them, set their possible to interact angles and ranges precisely with custom made unique gizmos. It’s a one-time setup just for the player, no need to set ranges and angles for every interaction object! Also no limitations for those, you can have setup for a 16 legged spider with each one of them has their own rules.
– Design
Place targets on any object that you want to interact with. Placement is easy! Right-click on any object in SceneView to open the target selection menu. Select your desired player part and done. Target will be spawned as a child to the object. That object is now interactable.
– Interact
When that object enters Interactor’s trigger, it will be checked by effectors for it’s type (left hand, etc.) and position. If the object has more than one target (a rock can be held by two hands for example) all targets get checked by only the same effector type (no unnecessary calculations). If they’re good to go, interaction can be started by player input.
– Animate
Interactions can be achieved without any animations (like clicking on a distant object), with animation files, with procedural animations, or both for more precise & realistic movements. On the procedural part, IK comes into play.
– Inverse Kinematics (IK)
IK handles chained bone rotations when you want to reach a point. So when you set your hand’s position & rotation to a new target, it calculates rotations for middle bones. Interactor uses Unity’s built-in IK and works like Two Bone IK system. But if you have Final IK (which is a Full Body IK system), Interactor becomes even better because it is more capable to do creative stuff. Final IK version has separate files but Interactor can be switched to any IK system with just a click. It will automatically handle the removal of unnecessary scripts for you.
Also Interactor is a great companion for the Unity Animation Rigging package (which is a bunch of new IK tools in development by Unity). It’s not integrated yet (because it is early) but you can still use it on your own.
– Interaction Types & Examples
Interactor has built-in interaction examples and example scenes for everything. Right now, you can add new interactions by coding or use default ones as a template to build on. There are more than 15 interaction types and that library will expand (and half of them will improve) until Beta ends. It’s pretty easy to customize example scripts with even low knowledge (Send a message when needed help).
Also every model is included and has 4K PBR textures (Interactor comes with 2K textures from Asset Store to make updates easier, you can download and import 4K texture pack seperately). With additional bonus shaders!
Some of other features
– Interactor works fast & suitable for mobile.
– A lot of freedom to create new interactions that involve body movement.
– Self Interactions! Easily create procedural idle (or for something else) animations. They will play randomly with given odds for each. Set as many as you want with freedom of creativity.
– Interactor script is fully commented
– Full source code included (with bonus scripts & shaders)
– Can be used for HDRP and URP, except the custom bonus shaders (Outline, etc). Other than that, Interactor will work just fine.
– Example Scene and all interactions can change to Final IK version with integration button.
– Besides InteractorIK & Final IK conversion, convertible to Core pack, which has only core scripts without any interactions & example files for the clean start (one-click example removal).
– Almost everything cached to work faster, from all components to animation & material property hash ids. Not a single GetComponent() called in runtime (except when really needed).
– Tested for both look & functionality on all versions since 2019.1.0 and on dark & regular Unity themes.
– Solid support, just send a message for anything.
There is a lot more to tell about Interactor, if you are interested you can access Online Documentation. There are lots of explanations with diagrams, gifs, videos, scripting API & stuff.
If you have any questions or need further information before you buy, i’m available almost every day!