# Change Log

## 3.3.7

* General fixes and refactorings
* Move mobile inputs from JUTPS.CrossPlataform to JU.Mobile
* Health System refactored:
  * Use properties for sensitive fields
    * Added invencibility option
    * Added protection option
    * Added OnHealthAdded event
    * Added OnResetHealth event
    * Added DamageResultInfo that contains more information about damage for DoDamage
    * Added SubscribeOnBeforeDamaged and UnsubscribeOnBeforeDamaged to registry callbacks to handle damage, useful for "shield powerps" or "armor"
    * Added static event OnHealthDamaged, only for Unity 6000.3 or newer
    * Moved JUTPS.JUHealth to JU.JUHealth
    * Use an interface for base features to allow integrate jutps with different health systems
    * Now JUTPS allows use custom health systems if they inherit from `IHealth`
* New Aim Assist (TPS Camera Only)
  * Improved precision and stability for aim assist
    * Auto detect target size and aim to it's center
    * Follow any part of the body or objects with different sizes
    * Tolerance if the target goes out of sight, avoids discomfort with small obstacles
    * Allows you to change the priority for target acquisition
    * Allow set different settings for gamepad and mouse
    * Allow to ignore specific objects using the new "JUIgnoreAimAssist" component
    * Added settings to enable/disable aim assist on game settings screen.
    * Renamed CameraAimAssistent to JUCameraAimAssistent
    * All settings of the old aim assistent were renamed/changed for the new script.

Added

* Added option on patrol AI and Zombie AI to attack target immediately on hear sound
* Added option on character controller to disable bare hands if have weapons
* Added Inventory Events

Fixes

* Fix camera switching failing if Game window is not focused on start (Editor only)
* Fix AI not working if need find the target into a different Y position (like multi-storey buildings)
* Fix camera switch Bug
* Fix Inventory bug

## 3.3.69

* Fixed AI Pathfinding system bug&#x20;
* Fixed weapons procedural animations AI Patrol bug
* Fix input code

## 3.3.68

* Fixed Top Down Interaction System dont working properly
* Fixed Loot System
* Fixed Inventory Item Count not working properly
* Fixed Pick-Up System Bug

## 3.3.67

* Added option to disable or enable locomotion in Inventory,
* Fixed Ground Check bug,
* Fixed a glitch in ramps,
* Fixed bug with duplicating weapons in inventory,
* Fixed a bug with SkinnedMeshRenderer Armor/Cloth items.

## 3.3.66

Added:

* Add option to disable shot,
* Add option to disable melee weapons attack,
* Add input for melee weapons attack,
* Add settings for different audio types, like ui, music and sfx,
* Added save/load for weapon's editor state,
* Add settings for different audio types, like ui, music and sfx,

Fixes:

* Fixed Aim configuration problem,
* Fixed Armor equip bug,
* Fixed Camera Switch in Game Pause,
* Fixed Cursor visibility problems,
* Fixed a compilation error,
* Better Motorcycle Physics and Settings,
* Fixed input asset not accepting changes,
* Fixed patrol AI not aming correctly,
* Save patrol/zombie editor state,
* Fixed Always Fire Mode not working after open inventory,
* Fixed melee weapon button not working on mobile,
* Fix punch and melee weapon attack being triggered multiple times,
* Fix inputs and pause not working with reload domain disabled,
* Fix save load components not working with reload domain disabled,
* Fix vehicle not working with reload domain disabled,
* Fix jump animation not working,
* Fix more potential problems with reload main,
* Fix camera controllers overriding the target to follow during the start.,
* Fix "Empty" state of inventory slot not being updated to false.,
* Fix Removed HideInInspector from DamageableBodyPart,

Changes:

* Remove "Pivot" from field of view AI sensor. Moved to character AI,
* Remove "Pivot" from field of view AI sensor. Moved to character AI,
* Changed JUTPSAction fields to get properties.

Removed:

* Removed mouse visibility options from JU\_UIPause, now th UI will control the visibility automatically based on the gameplay cursor state.,
* Removed HideCursorWhenExitInventory, LockCursorWhenExitInventory from InventoryUIManager, now the visibility is controled automatically.

## 3.3.64

* Updated Default Addons

## 3.3.62

* Move character inputs to ScriptableObject
* CheckNearVehicles options of DriveVehicles script was moved to JUInteractionSystem
* MaxVehicleSpeedToEnter of DriveVehicles was moved to JUVehicleInteractable
* MaxCharacterSpeedToEnter of DriveVehicles was moved to JUVehicleInteractable
* Car vehicle and Motorcycle vehicle now inherits from JUWheeledVehicle instead of JUVehicle
* Removed JUCharacterSettingsDrawer script, moved to JUCharacterController
* Renamed Vehicle to JUVehicle
* Renamed vehicle properties Steer and Throttle in favor of generic vehicles
* Renamed ButtonVirtual to JUButtonVirtual
* Renamed JoystickVirtual to JUJoystickVirtual
* Renamed Touchfield to JUTouchfield
* Footstep precision improved
* Added new vehicle example script
* Added a ScriptableObject with vehicle input settings
* Added save load (Newtonsoft) API
* Added property to control spawned VFX life time
* Added custom actions to VehicleJump component
* Added option to disable footstep at far distances
* Added mobile pause button
* Added Sensibility option to JUTouchfield
* Added new JUInteractionSystem script that allow interact with scene objects, like cars, doors or any other interactable item
* Added JUInteractable script, base class of any interactable object
* Added JUGeneralInteractable script, allow easy interaction
* Added JUVehicleInteractable script, have all options that allow drive vehicle with a character interaction
* Added JUPool API, allow create object pooling system
* Added new API system based on actions, with attack, escape, field of view and hear sensor (Legacy AI was removed)
* Added JUTag ScriptableObject
* Added JUBoxArea that represents a specific area in the scene. Useful for AIs
* Added save load components for player, destructive objects, inventory and inventory items
* Added method to reset game settings
* Added JU Play Sound Clips, a State Machine Script that allow play sounds with animation
* Added Camera Sway options in guns.
* Move ItemSwitchManager properties to character input asset
* Removed unused mobile rig options
* Fixed Mobile Render Scale Bug
* Fixed Inventory Equipment Slots
* Fixed Bike Wheels
* Fixed Character flickering in edges
* Improved Slope Slide&#x20;
* General improvements
* General scripts refactoring
* Added Interaction System Demo Scene
* Added Attack AI Scene Demo
* Added Damage Detector AI Scene Demo
* Added Escape AI Scene Demo
* Added Field Of View Sensor AI Scene Demo
* Added Follow Point AI Scene Demo
* Added Follow Waypoint AI Scene Demo
* Added Hear Sensor AI Scene Demo
* Added Model Patrol AI Scene Demo
* Added Model Zombie AI Scene Demo
* Added Move Inside Area AI Scene Demo
* Added Walk Random Around Point

## 3.0.52

### \[FIXED ISSUES]

* Fixed **Bike Wheels Inverted Rotation**&#x20;
* Fixed **Zombies Jumping on Step Up**&#x20;
* Fixed **Character Flickering on Edges**&#x20;
* Improved **Slope Slide**

### \[CHANCES]

* `JuVehicleAnimatedSteerWheel` renamed to `JUVehicleAnimatedSteerWheel`.
* Changed `DriveVehicles.onEnterVehicle` action to `OnEnterVehicle` event.
* Changed `DriveVehicles.onExitVehicle` action to `OnExitVehicle` event.
* Removed `VehicleToDrive` and `DriveSelectedVehicleOnStart` from `DriveVehicles`, use the new `StartVehicle` field instead.
* Now is possible enter on a vehicle without a full setup, you only need to have a vehicle and a character with `DriveVehicles` component, `DriverProceduralAnimation` and `JUVehicleCharacterIK` is optional.
* Now DriveVehicles don't use Triggers to idenfity VehicleAreas, use `CheckNearVehicles` property instead.&#x20;

### \[NEWS]

* Added **New Options in Step Up System** tab
* Added Rotation Multiplier to the `JUVehicleAnimatedSteerWheel`.
* Added a new component that allow setup character IK on vehicles when is driving, `JUVehicleCharacterIK`
* Added option that block specific vehicles to not allow enter `JUVehicleCharacterIK.CharactersCangetVehicle`.
* Added option on character that block the enter vehicle, see `DriveVehicles.EnterVehicleEnabled`.
* Added option on character that block exit from the current vehicle, see `DriveVehicles.ExitVehicleEnabled`.
* Added option that allow disable the character when enter on a vehicle `DriveVehicles.DisableCharacterOnEnter`.
* Added a delay to enter and exit from a vehicle, see `DriveVehicles.DelayToReenableAction`.
* Added option that don't let get vehicles on movement, see `DriveVehicles.MaxVehicleSpeedToEnter`.
* Added option that don't let exit from the current vehicle on high speeds, see `DriveVehicles.MaxVehicleSpeedToExit`.
* Added option that don't let enter on a vehicle if the character is moving, see `DriveVehicles.MaxCharacterSpeedToEnter`.

### \[REMOVED]

* Removed `InverseKinematicTargetPositions` and `AnimationWeights` from `Vehicles`, moved to the new `JUVehicleCharacterIK` component.

## 3.0.51

### \[FIXED ISSUES]

* Fixed some animations missing in **Animator**&#x20;
* Fixed bug of **Firing Mode** with **items that block Firing Mode**&#x20;
* Fixed console throwing warning "**current camera not found**" sometimes&#x20;
* Fixed **Dash Addon Custom Input** dont working properly&#x20;
* Fixed **Animator of Dash Addon**&#x20;
* Fix droped **Weapons multiplying bullets**

### \[NEWS]

* Added new **State Machine Behaviour script** that disable **Foot Placement**&#x20;

## 3.0.5

### \[CHANGES]

* **VehicleEngine** from Vehicle class was renamed to Engine.
* Renamed engine **Max Velocity** to **Max Forward Speed.**
* The ground detection is made checking the wheels ground hit instead of use a raycast.
* Renamed Driver Inverse Kinematic **Player Location** to **Character Position.**
* The vehicle steering wheel was removed from **CarController** and **MotorcycleController** and moved to a new script called as **JuVehicleAnimatedSteerWheel**.
* The **CenterOfMass** from engine was changed from Transform to Vector3.
* **CarController** can have more than 4 wheels, it's possible configure wheels by axles.
* Renamed **VehicleNitroBoost** to **JuVehicleNitro**.
* **JuVehicleNitro** renamed method **DoNitro** to **UseNitro**.
* **JuVehicleNitro** renamed **Nitro Force** to **Force**.
* **JuVehicleNitro** renamed **Rechange Nitro Speed** to **Reload Time**.
* **JuVehicleNitro** rename **Spend Nitro Speed** to **Use Speed**.
* **JuGameManager** renamed **IsMobile** to **IsMobileControls**.
* **JU Icon Generator** now can create folders
* For organizational reasons and ease of removing unnecessary files for the user's project, all optional JU TPS samples files(prefabs, guns, scenes and models) are moved to **Demos folder**

### \[NEWS]

* **Added Cover System**
* **Added Dash Addon**
* Improvements in arms **IK**
* Improvements in **Sprinting System**
* New **Locomotion** options in **JU Character Controller**
* Added a lot of **Unity Events** to **JU Character Controller**
* Added **Weapon Sway options** for **Scope/Aim Mode (Third Person)**
* &#x20;Added **AI Toogle** option to **JU Character Controller**
* **AdvancedRagdollEditor** refactored.
* **JuGameManager** now it's possible enable/disable mobile controls at any moment.
* **JUPauseGame** renamed **Paused** to **IsPaused.**
* Added option to disable/enable user pause inputs.
* Added **OnContinue** event.
* Changed **Pause()** behavior to only pause the game, not continue.
* Added **Continue()** method.&#x20;
* Added **SetPaused(paused)**.
* **CarController** allow change the throttle, brake and steer by wheel axle.
* **MotorcycleController** allow change the throttle, brake and steer by wheel.
* Vehicle **Arcade** **Rotate To Up Air Speed** the speed to rotate the vehicle to up direction when on air.
* Vehicle Engine **Max Rear Speed**
* Vehicle Engine **Auto Brake Force**
* Vehicle Engine **Acceleration Curve**
* Vehicle **Drive Pad Smooth** to control the speed of the steer , brake and acceleration.
* Vehicle **SteerVsSpeed** to make the vehicle more maneuverable on high speed.
* **MotorcycleController** Inclination **Sensitive** is the sensitivity of the inclination by speed
* **MotorcycleController** Inclination **Speed** is the speed to incline the motorcycle.
* **MotorcycleController** Inclination **Max Angle** is the max inclination angle when in movement.
* **MotorcycleController** Inclination **Stooped Inclination** is the default inclination when the motorcycle is stooped.
* **MotorcycleController** Inclination **On Grounded Drag** the vehicle drag when on ground.
* **MotorcycleController** Inclination **Off Grounded Drag** the vehicle drag when on air.
* **MotorcycleController** Wheels **Throttle intensity**
* **MotorcycleController** Wheels **Brake intensity**
* **MotorcycleController** Loop **Align with Loop Speed** the speed to align the vehicle up with the loop ground normal.
* **JuVehicleNitro Apply Force Mode** to able allow apply the nitro force directly on the rigidbody or on each wheel.
* **JuVehicleNitro Force Multiplier** to control the nitro intensity.
* **JuVehicleNitro Min Amount To Use** to only use the nitro if is greater than an min limit.
* **JuVehicleNitro Automatic Reload** to allow or not reload the nitro automatically.
* **JuVehicleNitroStart Reload Delay** A delay to start reload after use the nitro.
* **JuVehicleNitro Nitro Enabled** Set enable the nitro control.
* **JuVehicleNitro**&#x20;
* **On Set Active Nitro** event called when the nitro is activated or disabled.
* **VehicleJump** refactored.
* **VehicleAIRandomDestination Random Mode** allow to generated random positions relative to the world center or based on the vehicle position.
* **VehicleAIRandomDestination Refresh By Distance** Allow to generate random positions when the vehicle is closest to the target position.
* **JU\_UIPause** Can set mouse as visible or not when enter or exit pause screen.
* **JU\_UIPause** Can open the game settings inside pause screen.
* **JU\_UIPause** Can load game menu or exit game
* **JUGameSettings** has action when the settings are applied.&#x20;
* **JUGameSettings** can set the render scale.&#x20;
* **JUGameSettings** can set the graphics quality.
* **JUGameSettings** can Invert the camera vertical orientation.
* **JUGameSettings** can Invert the camera horizontal orientation.
* **JUGameSettings** can set the camera rotation sensitive.
* **JUGameSettings** can change the audio volume.
* **JU\_UISettings** the user can access all settings from the **JUGameSettings** in the UI.
* **JU\_UITabs** allow the user configure different tabs in a UI.
* **JuCameraController** added Invert Horizontal.
* **JuCameraController** added Invert Vertical.
* **JuDamager** now is possible configure which JUDamagers will show damage info on UI.
* **JuDamager** now is possible set colliders to ignore collision.
* **TPSControllerEditor** refactored.
* **InventoryUIManagerEditor** refactored.
* **JUGameManager** refactored.
* **SceneController** refactored.
* **SceneController** add ability to access respawn position on SceneController API.

### \[FIXED ISSUES]

* **JuCharacterController** fixed logs of look direction in side scrolling demo.
* **JuCharacterController** exposed the **UseDefaultInputs** int the script editor.
* **JuDamager** fixed error on hit on a object and not have audio to play "hit sound".
* Fixed Ragdoll when collide driving a vehicle.
* Fix error on try setup a character that already have a **Rigidbody** component.
* **JuInventory** fixed inventory state up updating after switch **HoldableItem**.
* **PatrolAI** fixed error when patrol try access invalid waypoint.
* **AimOnMousePosition** Fixed 2D Player Crosshair layer not working.
* &#x20;Crashing with **Odin Inspector**
* Flickering because sprinting system
* Icon Resources build error
* Mobile access in mobile build error
* Fixed double roll bug when pressing the roll button twice quickly

### \[REMOVED]

* Vehicle Ground Check.
* **JuVehicleNitro** Rigidbody to Boost is obtained automatically on start game.
* **JuVehicleNitro** nitro Particle.
* **JuVehicleNitro** removed **Nitro Bar**, now the Nitro is a clamped between 0 and 1.

## **3.0.42** (Day 16/Month 08/Year 2023)

### \[NEWS]

-Added **Anti Gun Clipping Script** (PreventGunClipping.cs)

### \[FIXED ISSUES]

-Fixed Weird Wielding Positioning with Dual Pistols

-Fixed AI Invalid Path error in demo scenes

-Fixed IK Hint problem

## **3.0.4** (Day 06/Month 08/Year 2023)

### **\[ NEW ]**

-**UMA Integration** / **Fixed Issues with dynamic avatars**

-Added a **JUButton** Attribute in *JUHeader Class* (create a button in inspector without need custom editors)

-Added option to **Auto-Equip** picked up items

-Added **Pause Game** feature

-Added **Infinite Ammo Option**&#x20;

-Added **Resizable Capsule Collider** System

-Added **URP Materials Package** to *Addon Installer*

### **\[ CHANGES ]**

-*Block FireMode On Cursor Visible* option changed to **false by default** (Note: It is recommended to **activate the option when adding a menu or inventory in the UI**)

-Better **Auto Step Up System** (maybe you need to lower the step up speed)

### **\[ FIXED ISSUES ]**

-Fix JUFootStep Load Default Footstep Audio Clips Bug

-Refactored Auto Step Up System

-Fixed character stuck in edges in new movement mode.

-Fix Mobile Jump Button Dont Working

-Fixed bug of Player moving automatically without pressing any inputs in some devices

-Fix AI hunting player without seeing them

-Fix problem with bullet direction in TopDown Mode

-Fix weird transition in jump when character prone

## **3.0.3** (Day 02/Month 07/Year 2023)

### \[NEW]

-New [***Addon Installer Window***](https://julhiecio.gitbook.io/ju-tps-documentation/quick-start/addon-installer)

-New ***Double Jump Addon***

-New ***Sprinting and Locomotion Options***

-New ***Lean Body Options*** (Characters with different rigs(like [**POLYGON/Synty Studio**](https://julhiecio.gitbook.io/ju-tps-documentation/quick-start/how-to-create-a-ju-character/body-leaning-setup) characters) are now supported without weird body leaning.)

-New option to decrease character speed on jump

### \[CHANGES]

-Better Jump

-Better Bullet Trajectory

### \[FIXED ISSUES]

-Fixed Physical Damage Bug(the car did not kill zombies)

-Fixed the General Holdable Item Component not appearing

-Fixed JUCharacterSettingsDrawer.cs Error on game build.

## **3.0.2** (Day 17/Month 06/Year 2023)

### \[NEWS]

-[Added Vehicle Engine Sound System](https://julhiecio.gitbook.io/ju-tps-documentation/game-development/how-to-use-vehicle-system/vehicle-engine-sounds)

-Added [Physical Damage System](https://julhiecio.gitbook.io/ju-tps-documentation/quick-start/how-to-create-a-ju-character/physical-damage) (You can now kill by hitting with the vehicle)

### \[CHANGES]

-Call more easily [Ragdoll System](https://julhiecio.gitbook.io/ju-tps-documentation/tools-utils-and-tutorials/general-tutorials/how-to-do-ragdoll-fall-with-input-event)

<br>

## **3.0.1** (Day 14/Month 06/Year 2023)

### \[CHANGES]

-Small improvements and fixes<br>

## **3.0.0** (Day 09/Month 06/Year 2023)

-almost all code rewritten from previous version (JU TPS 2.8)
