Changelog
v0.96 (Beta)
The Animation Assist system has been integrated. The new AnimAssist component allows you to use any animation clip to support interactions for more realism. It is easy to use and easy to edit. Simply add clips, enable Anim Assist on the InteractorObject, and set your clip time to start the interaction. When you initiate your interaction with the same button, it will trigger the animation and start the interaction at the specified time while playing the clip. It is also possible to use the same clip twice for two-time used interactions (e.g., pick-drop).
The old animation states (Pick & Hit) have been removed from the Animator Controller. The clips have been replaced with newer ones, and unnecessary inputs have also been removed.
InteractorAi now has mobility checks (body and feet targets). Before starting, it checks if the player has an interaction that prevents it from moving to the next interaction using pathfinding.
Pathfinder line gizmos have been improved. It is now clearer which turning lines belong to which point on the path.
An Interactor CreateTarget button has been added for more convenient target creation. With a simple click, it extracts the body part with all child bones, adds an InteractorTarget with the correct type, and moves the target to the origin point with zero rotations. The only thing that remains is to adjust offsets as you like and create the prefab.
Several interactions in example scenes have been improved.
New tutorial for AnimAssist added to videos section.
v0.95a (Beta)
New Unity Input System errors are fixed.
Vehicle errors when using Input System is fixed.
TwoBoneIK solver is fixed.
TwoBoneIK & InteractorIK for non-humanoids generate warnings in Final IK version now.
All character controllers updating in Update() instead of FixedUpdate().
MultipleType interactions are fixed when using multiple objects or Interactors.
Kinematic warnings (in newer versions of Unity) when using vehicles are fixed.
v0.95 (Beta)
Introducing the InteractorAI system! It empowers your players by taking control of their characters and autonomously navigating to interactions. Whether it's close-range or in vast areas, the system operates swiftly. Players no longer need to manually approach interactions; instead, they can watch their characters seamlessly traverse the entire scene. It also allows initiating interactions while in motion, eliminating the need to come to a complete stop before starting them. Additionally, it seamlessly handles moving colliders. With its complete pathfinding capabilities, you have lots of freedom.
And a new example scene for InteractorAI added.
Improvements and fixes have been implemented to address serious jittery movement. The weights are now synchronized to ensure smoother and more stable motion.
InteractorIK now supports Animator Update Physics mode and synchronizes with Animator physics updates by utilizing LateFixedUpdate.
On versions 2022.2 and newer versions, critical Sceneview right-click menu bugs have been resolved.
Pickable object speed settings have been fixed, ensuring that all easing functions work properly.
Various examples in the scenes are improved.
Resolved LookAtTarget error that occurs when objects are destroyed.
Interactor and InteractorObject use fixes.
Fixed various null errors for improved stability.
Workflow enhanced for improved efficiency.
Interactor now seamlessly integrates with popular Asset Store controllers, providing out-of-the-box compatibility.
New tutorials for both Interactor setups and InteractorAI for different controllers added to videos section.
v0.94 (Beta)
InteractorPaths added. Ability to add bezier curves for interactions so effector bones can follow them to reach target or multiple targets. It contains tools for modifying the paths in editor and runtime. Ability to add middle segments to create extra interactions within the interaction. It has highly optimized event system and ability to change gestures in mid-way with no extra cost. Full sceneview workflow with keyboard shortcuts and preview feature to see them in action with a single shortcut in editor. You can see them in the 0.94 trailer.
InteractorTarget overhaul with lots of features. InteractorTarget and its gizmos work for Final IK too.
All example scenes are overhauled. And a new example scene for InteractorPaths added.
New Interactor component minimize mode. It is more fit now.
Interactor effector rules automatic setup. Single click can set your effector rules.
Final IK InteractionSystem is dropped which also better for performance. Final IK integration has now %100 same workflow. All components and %99 of the codes are the same.
ExtraDebugs for tracking every detail of of Interactions in runtime for debugging purposes. Can be used for any amount of effectors at the same time. Screen placements are automatic and flexible for any platform.
SpeedCurve overhaul. SpeedCurve is now checked by InteractorTarget to prevent user errors. All changes on speed can be viewed in Sceneview Speed Debug. And all interactions can be previewed in editor.
Fix for wrist deformations when hands are rotated too much.
MatchChildBones optimization. Now all targets can use other target child bones data for finger rotations.
Faster workflow with SceneView shortcuts. You can find all shortcuts in InteractorPath Example Scene on the wall infos. Also, now SceneView window allows you to change sliders with the mouse wheel. It is faster than trying to click on tiny slider thumb.
Various Interaction Type fixes.
Lots of other changes, fixes and improvements.
All Unity versions up to latest 2021.3 LTS are tested. Minor errors and sceneview placements issues for some specific versions are fixed.
v0.89 (Beta)
TwoBoneIK Solver added for non-humanoids
PlayerState singleton requirement removed (Now it is InteractionStates and automatically handled per Interactor)
Multiple Interactors in same scene allowed. Each Interactor only cares about its object in runtime and Scene windows/Spawner will use the latest selected Interactor as base in Editor. Gizmos will show up depending on their Interactor's debug option. You can use Interactor on your AI characters as well as your player and all the Interactors can interact with each other.
Nested Interactions (Interactions can be child of each other) with exluded InteractorObjects
Nested targets (Targets can be child of each other) with excluded InteractorTargets
InteractorTarget's child bones can match rotations everyframe (Not just target pose, now you can animate each bone, each frame)
Disabled InteractorObjects and disabled InteractorTargets gets skipped.
Interaction end events (besides the start events)
First Person Example Scene for showcasing all new features
Minor fixes & improvement
v0.86 (Beta)
Faster Workflow with Interaction Presets (New SceneView Window Spawner Mode)
New Example Scene with Unity Armature. The scene in the Workflow Trailer.
Interaction types seperated from InteractorObject as ScriptableObject assets
Highly customizable Look settings
Interaction Priority values for selecting interactions and their look orders
Smooth interaction interruptions with Interrupt Transfer
Interaction speeds per InteractorObject
Custom easing for interactions with Animation Curves
All target spawning rotation modes improved
Minimum range added for effector settings
All override options added (All angles, min & max ranges) for InteractorTargets
Custom layer names
Most of interaction types overhauled and improved
Predestined drop and hold positions for pick up objects
Final IK v2.1 support & All new features for Final IK versions
Interactor Core version removed
v0.75 (Beta)
Spawning prefabs improved.
From now on, you need to prepare your prefabs according to the world space rotation (X right, Y up, Z forward). Local rotation is not important which means you can rotate your targets when creating them. And now all offset positions and their relative rotations for prefabs works exactly same when spawned.
Relative positions and rotations of prefabs are correctly preserved when spawning on a point with click. So prefab will be exactly same spot like the point you clicked is world center in prefab.
Added spawn Pivot object option on Target Spawner window.
If you enable pivot object option, all prefabs will spawn under a pivot object. Also this pivot object will automatically assign into InteractorObject on its parent. So targets can rotate to player effector when interacting. Also you can easily rotate your targets with pivot for easier rotation editing.
v0.72 (Beta)
New InputSystem supported.
New InputSystem works in ExampleScenes and with example scripts as well as Legacy Inputs. Also BasicInput.cs and BasicInputInteract.cs has a toggle to prevent inputs when game window is out of focus (New InputSystem's default behavior is set to get inputs even when game windows is not selected).
Some minor fixes for interactions and example scenes.
v0.71 (Beta)
Update for Final IK 2.0 support.
Interactor can detect the Final IK version 1.9 and 2.0 now. So it can start integration process according to the correct version automatically.
Final IK supported versions are 1.9 and 2.0 right now.
v0.70 (Beta)
First release of Interactor Beta.
