Search Unity

  1. Dismiss Notice
  2. All Pro and Enterprise subscribers: find helpful & inspiring creative, tech, and business know-how in the new Unity Success Hub. Sign in to stay up to date.
    Dismiss Notice

Assets Interactor - Interaction Handler for IK (Beta)

Discussion in 'Works In Progress - Archive' started by razzraziel, Sep 11, 2020.


Rate your level of interest please.

  1. Extremely interested!

  2. Considerably interested.

  3. Slightly interested.

  4. Not interested.

Results are only viewable after voting.
  1. razzraziel


    Sep 13, 2018

    Interactor designed to cover all aspects of any kind of interaction, from designing stage in 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 it's 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.

    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 player with Interactor. Interactor checks only 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 effect your editor workflow & performance. They're not noticeable (Almost same with regular Inspector UI) and even have zero performance effect when cursor is not on them. Furthermore, Interactor designed that way in mind and can be used even 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 it works?
    - Set Your Player Parts
    Which parts of 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 one time setup just for player, no need to set ranges and angles for every interaction object! Also no limitations for those, you can have a setup for 16 legged spider with each one them has their own rules.

    - Design
    Place targets on any object that you want to interact. Placement is easy! Right click on any object in SceneView to open target selection menu. Select your desired player part and done. Target will be spawned as 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 object has more than one targets (a rock can be holded by two hands for example) all targets get checked by only 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 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 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 template to built 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.
    - Main 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). Interactor will work just fine.
    - Besides of InteractorIK & Final IK conversion, convertible to Core pack which has only core scripts without any interactions & example files for 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.
    - 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.
    - 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 is now v0.70 beta and will be on Asset Store when review (pending) is done with a discounted price (It's beta and will be newly released). Online documentation, tutorial videos, gifs, script diagrams and API will be available soon. I'm working on a exciting trailer right now.

    Watch the thread on right top of this page if you want to be notified when new infos posted.
    I hope you find it interesting, feel free to contribute in thread or ask questions. Thank you.
    Last edited: Sep 20, 2020
  2. razzraziel


    Sep 13, 2018
    Reserved for future updates #1

    Last edited: Sep 24, 2020
  3. razzraziel


    Sep 13, 2018
    Reserved for future updates #2