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 (Look at Easy Workflow section below). 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.
Interactor is in Beta stage right now and because of that, it has discounted price for early adopters.
For the latest updates and discussions: Forum Thread
Other Sources: Online Documentation | Support | 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.
Fast & Easy Workflow
- Set up Interactor for your character: 5 minutes
- Create your own target prefabs (to spawn them on objects in SceneView): 1-2 minutes each
- Create a new interaction and save it for later use as a preset: 1-5 minutes
- Create a new interaction with saved target and preset to make it ready to use with procedural animations: 2 seconds
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.
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.
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.
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 also has its own Two Bone IK solver. 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 interactions and example scenes to showcase all of them. 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 1K 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.
- Multiple Interactors in same scene. Use it in your AI characters!
- TwoBoneIK solver for non-humanoid rigs (FPS Arm rigs, creatures, monsters etc)
- You can use your own Player Controllers. And you don't need a Rigidbody on your character.
- A lot of freedom to create new interactions that involve body movement.
- Highly customizable Look settings (OnSelection, Before, OnPause, After or multiple selection modes). And also works with Interaction priorities.
- Smooth interaction interruptions to change current interaction without resetting.
- 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 in it can change to Final IK version with integration button (Except the FPS scene, it only exist in InteractorIK).
- 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 & stuff.
If you have any questions or need further information before you buy, i'm available almost every day!