# Change Log

## 3.3.8

Changes:

* SceneController renamed to JURespawnController
  * Use enum to set respawn mode

Fixes

* Fix null error on JUAutoInstantiate
* Fix character being created without JUHealth component on Quick Setup
* Fix mobile inputs on IPad
* Fix AI damage detection not looking to the damage owner if hit was close.

Added

* Patrol AI and Zombie AI now have OverrideTarget property, allow to follow and attack a specific object.
* Added OnStartRun and OnEndRun events to JUCharacterController.Events

## 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://julhiecio.gitbook.io/ju-tps-documentation/change-log.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
