Releases: J1blCblu/LockOnTarget
v1.6.2-5.4
Small improvements and bug fixes.
v1.6.2-5.3
Small improvements and bug fixes.
v1.6.2-5.2
Small improvements and bug fixes.
v1.6.1-5.3
Hotfix 1.6.1.1
TargetComponent:
- Fixed AssociatedComponentName not showing bp-created components for default subobject.
Update 1.6.1
The update is aimed to support initial setup of the plugin via C++ and fix existing issues.
LockOnTargetComponent:
- Modified input settings to support Xbox controllers.
- Added the SetDefaultTargetHandler() and AddDefaultExtension() methods that can be used during construction.
- Reduced update overhead when there's no captured Target.
TargetComponent:
- Moved CaptureRadius and LostOffsetRadius settings to WeightedTargetHandler for convenient centralized editing.
- Added bForceCustomCaptureRadius and CustomCaptureRadius settings to modify the default CaptureRadius from WeightedTargetHandler.
- Added Set/GetDefaultSocket() methods to change the first Socket, which can be used for faster access if the Target contains a single Socket.
- Removed runtime validation for added sockets.
- Fixed display of AssociatedComponentName and Sockets in details for native created TargetComponent.
- Removed the hard binding of AssociatedComponent to MeshComponent.
- Reworked AssociatedComponent initialization to support use during construction.
WeightedTargetHandler:
- Fixed possible zero division in CalculateTargetWeight().
- Renamed MinDistance to NearClipRadius.
- Added DefaultCaptureRadius and LostRadiusScale public properties.
ControllerRotationExtension:
- Added input blocking feature.
PawnRotationExtension:
- Removed RotationRate clamping to allow instant turns.
WidgetExtension:
- Added a property that allows the widget to be displayed only for local players.
TargetPreviewExtension:
- Switched to using the ExtensionTick for UpdateRate rather than processing it manually.
v1.6.1-5.2
Hotfix 1.6.1.1
TargetComponent:
- Fixed AssociatedComponentName not showing bp-created components for default subobject.
Update 1.6.1
The update is aimed to support initial setup of the plugin via C++ and fix existing issues.
LockOnTargetComponent:
- Modified input settings to support Xbox controllers.
- Added the SetDefaultTargetHandler() and AddDefaultExtension() methods that can be used during construction.
- Reduced update overhead when there's no captured Target.
TargetComponent:
- Moved CaptureRadius and LostOffsetRadius settings to WeightedTargetHandler for convenient centralized editing.
- Added bForceCustomCaptureRadius and CustomCaptureRadius settings to modify the default CaptureRadius from WeightedTargetHandler.
- Added Set/GetDefaultSocket() methods to change the first Socket, which can be used for faster access if the Target contains a single Socket.
- Removed runtime validation for added sockets.
- Fixed display of AssociatedComponentName and Sockets in details for native created TargetComponent.
- Removed the hard binding of AssociatedComponent to MeshComponent.
- Reworked AssociatedComponent initialization to support use during construction.
WeightedTargetHandler:
- Fixed possible zero division in CalculateTargetWeight().
- Renamed MinDistance to NearClipRadius.
- Added DefaultCaptureRadius and LostRadiusScale public properties.
ControllerRotationExtension:
- Added input blocking feature.
PawnRotationExtension:
- Removed RotationRate clamping to allow instant turns.
WidgetExtension:
- Added a property that allows the widget to be displayed only for local players.
TargetPreviewExtension:
- Switched to using the ExtensionTick for UpdateRate rather than processing it manually.
v1.6.1-5.1
Hotfix 1.6.1.1
TargetComponent:
- Fixed AssociatedComponentName not showing bp-created components for default subobject.
Update 1.6.1
The update is aimed to support initial setup of the plugin via C++ and fix existing issues.
LockOnTargetComponent:
- Modified input settings to support Xbox controllers.
- Added the SetDefaultTargetHandler() and AddDefaultExtension() methods that can be used during construction.
- Reduced update overhead when there's no captured Target.
TargetComponent:
- Moved CaptureRadius and LostOffsetRadius settings to WeightedTargetHandler for convenient centralized editing.
- Added bForceCustomCaptureRadius and CustomCaptureRadius settings to modify the default CaptureRadius from WeightedTargetHandler.
- Added Set/GetDefaultSocket() methods to change the first Socket, which can be used for faster access if the Target contains a single Socket.
- Removed runtime validation for added sockets.
- Fixed display of AssociatedComponentName and Sockets in details for native created TargetComponent.
- Removed the hard binding of AssociatedComponent to MeshComponent.
- Reworked AssociatedComponent initialization to support use during construction.
WeightedTargetHandler:
- Fixed possible zero division in CalculateTargetWeight().
- Renamed MinDistance to NearClipRadius.
- Added DefaultCaptureRadius and LostRadiusScale public properties.
ControllerRotationExtension:
- Added input blocking feature.
PawnRotationExtension:
- Removed RotationRate clamping to allow instant turns.
WidgetExtension:
- Added a property that allows the widget to be displayed only for local players.
TargetPreviewExtension:
- Switched to using the ExtensionTick for UpdateRate rather than processing it manually.
v1.6.0-5.3
Update 1.6.0
The update is aimed at polishing existing systems, fixing bugs, improving performance, stability, usability.
Important:
- The 'Modules' concept has been renamed to 'Extensions' to avoid confusion with C++20 modules and UBT modules.
- All references to modules have been replaced with extension.
- Some classes, properties and methods have been renamed to conform Epic's coding standard.
- ThirdPersonTargetHandler has been renamed to WeightedTargetHanler to emphasize the way it works.
- Improved the performance of WeightedTargetHandler::FindTarget() by about 20-50% when there are a large number of Targets(100+).
LockOnTargetComponent:
- Fixed the listen server being unable to capture a Target.
- Fixed multiple sequential Target captures when the world is tearing down.
- Fixed extension initialization in multiplayer.
- Removed update dispatching for extension as extensions have their own tick function.
- Added native NotifyOnTargetNotFound callback.
TargetComponent:
- All references to TrackedMeshComponent have been replaced with AssociatedComponent to emphasize the relationship to it.
- Changed FocusPointRelativeOffset relative space from world to Actor.
- Added TargetPriority property to designate some Targets as more or less priority.
TargetHandlerBase:
- Changed FindTarget() contract.
- Added FFindTargetRequestParams struct with customizable params for the FindTarget() request.
- Added FFindTargetRequestResponse struct with detailed data received as a result of the FindTarget() request.
- Removed deprecated HandleTargetEndPlay() and HandleSocketRemoval() methods.
- Removed the unimplemented() assertion in FindTarget() default implementation to avoid editor crashes.
WeightedTargetHandler:
- The old sequential Target finding method has been replaced by a batched method with 4 separate passes.
- Replaced IsTargetableCustom() and PostModifierCheck() with a single ShouldSkipTargetCustom() which is executed lazily.
- Added a UWeightedTargetHandlerDetailedResponse payload object with the data used while finding.
- Added new properties to FindTargetContext and TargetContext.
- Added TargetPriorityWeight.
LockOnTargetExtensionBase:
- Added a native ExtensionTick property allowing to customize tick settings and use prerequisites.
- Added Get/SetTickEnabled() for manual control of tick execution.
LockOnTargetExtensions:
- ControllerRotationExtension has been completely rewritten to take advantage of new opportunities since the 1.5.0 release.
- Added new properties such as prediction, oscillation smoothing, dead zone, easing and others.
- Fixed 1 frame lag when using SpringArmComponent.
- Fixed infinite rotation around a close Target.
- Replaced ActorRotationModule with a new PawnRotationExtension using a movement component.
- InterpolationSpeed, which has an inconsistent rotation speed, has been replaced with RotationRate working similarly to CharacterMovementComponent rotation.
- Fixed a glitch when using a spring arm. ActorRotationModule was ticking after the spring arm component, causing it to apply the parent transform.
- CameraZoomModule has been replaced with CameraModifierExtension that allows you to use any camera effects using a built in UCameraModifier.
- Added LockOnTargetCameraModifier_Zoom camera modifier to smoothly change the camera FOV.
- Removed the LOT_FOV_Curve asset used by CameraZoomModule.
GameplayDebugger:
- Renamed the class name to comply the Epic standard.
- Removed screen boundary box drawing.
- Slightly reorganized the displayed information.
Profiling:
- Removed preprocessor macro LOT_INSIGHTS.
- Added 'LockOnTarget' channel. To enable it, use -trace=lockontarget in the command line options.
- Added more timers.
v1.6.0-5.2
Update 1.6.0
The update is aimed at polishing existing systems, fixing bugs, improving performance, stability, usability.
Important:
- The 'Modules' concept has been renamed to 'Extensions' to avoid confusion with C++20 modules and UBT modules.
- All references to modules have been replaced with extension.
- Some classes, properties and methods have been renamed to conform Epic's coding standard.
- ThirdPersonTargetHandler has been renamed to WeightedTargetHanler to emphasize the way it works.
- Improved the performance of WeightedTargetHandler::FindTarget() by about 20-50% when there are a large number of Targets(100+).
LockOnTargetComponent:
- Fixed the listen server being unable to capture a Target.
- Fixed multiple sequential Target captures when the world is tearing down.
- Fixed extension initialization in multiplayer.
- Removed update dispatching for extension as extensions have their own tick function.
- Added native NotifyOnTargetNotFound callback.
TargetComponent:
- All references to TrackedMeshComponent have been replaced with AssociatedComponent to emphasize the relationship to it.
- Changed FocusPointRelativeOffset relative space from world to Actor.
- Added TargetPriority property to designate some Targets as more or less priority.
TargetHandlerBase:
- Changed FindTarget() contract.
- Added FFindTargetRequestParams struct with customizable params for the FindTarget() request.
- Added FFindTargetRequestResponse struct with detailed data received as a result of the FindTarget() request.
- Removed deprecated HandleTargetEndPlay() and HandleSocketRemoval() methods.
- Removed the unimplemented() assertion in FindTarget() default implementation to avoid editor crashes.
WeightedTargetHandler:
- The old sequential Target finding method has been replaced by a batched method with 4 separate passes.
- Replaced IsTargetableCustom() and PostModifierCheck() with a single ShouldSkipTargetCustom() which is executed lazily.
- Added a UWeightedTargetHandlerDetailedResponse payload object with the data used while finding.
- Added new properties to FindTargetContext and TargetContext.
- Added TargetPriorityWeight.
LockOnTargetExtensionBase:
- Added a native ExtensionTick property allowing to customize tick settings and use prerequisites.
- Added Get/SetTickEnabled() for manual control of tick execution.
LockOnTargetExtensions:
- ControllerRotationExtension has been completely rewritten to take advantage of new opportunities since the 1.5.0 release.
- Added new properties such as prediction, oscillation smoothing, dead zone, easing and others.
- Fixed 1 frame lag when using SpringArmComponent.
- Fixed infinite rotation around a close Target.
- Replaced ActorRotationModule with a new PawnRotationExtension using a movement component.
- InterpolationSpeed, which has an inconsistent rotation speed, has been replaced with RotationRate working similarly to CharacterMovementComponent rotation.
- Fixed a glitch when using a spring arm. ActorRotationModule was ticking after the spring arm component, causing it to apply the parent transform.
- CameraZoomModule has been replaced with CameraModifierExtension that allows you to use any camera effects using a built in UCameraModifier.
- Added LockOnTargetCameraModifier_Zoom camera modifier to smoothly change the camera FOV.
- Removed the LOT_FOV_Curve asset used by CameraZoomModule.
GameplayDebugger:
- Renamed the class name to comply the Epic standard.
- Removed screen boundary box drawing.
- Slightly reorganized the displayed information.
Profiling:
- Removed preprocessor macro LOT_INSIGHTS.
- Added 'LockOnTarget' channel. To enable it, use -trace=lockontarget in the command line options.
- Added more timers.
v1.6.0-5.1
Update 1.6.0
The update is aimed at polishing existing systems, fixing bugs, improving performance, stability, usability.
Important:
- The 'Modules' concept has been renamed to 'Extensions' to avoid confusion with C++20 modules and UBT modules.
- All references to modules have been replaced with extension.
- Some classes, properties and methods have been renamed to conform Epic's coding standard.
- ThirdPersonTargetHandler has been renamed to WeightedTargetHanler to emphasize the way it works.
- Improved the performance of WeightedTargetHandler::FindTarget() by about 20-50% when there are a large number of Targets(100+).
LockOnTargetComponent:
- Fixed the listen server being unable to capture a Target.
- Fixed multiple sequential Target captures when the world is tearing down.
- Fixed extension initialization in multiplayer.
- Removed update dispatching for extension as extensions have their own tick function.
- Added native NotifyOnTargetNotFound callback.
TargetComponent:
- All references to TrackedMeshComponent have been replaced with AssociatedComponent to emphasize the relationship to it.
- Changed FocusPointRelativeOffset relative space from world to Actor.
- Added TargetPriority property to designate some Targets as more or less priority.
TargetHandlerBase:
- Changed FindTarget() contract.
- Added FFindTargetRequestParams struct with customizable params for the FindTarget() request.
- Added FFindTargetRequestResponse struct with detailed data received as a result of the FindTarget() request.
- Removed deprecated HandleTargetEndPlay() and HandleSocketRemoval() methods.
- Removed the unimplemented() assertion in FindTarget() default implementation to avoid editor crashes.
WeightedTargetHandler:
- The old sequential Target finding method has been replaced by a batched method with 4 separate passes.
- Replaced IsTargetableCustom() and PostModifierCheck() with a single ShouldSkipTargetCustom() which is executed lazily.
- Added a UWeightedTargetHandlerDetailedResponse payload object with the data used while finding.
- Added new properties to FindTargetContext and TargetContext.
- Added TargetPriorityWeight.
LockOnTargetExtensionBase:
- Added a native ExtensionTick property allowing to customize tick settings and use prerequisites.
- Added Get/SetTickEnabled() for manual control of tick execution.
LockOnTargetExtensions:
- ControllerRotationExtension has been completely rewritten to take advantage of new opportunities since the 1.5.0 release.
- Added new properties such as prediction, oscillation smoothing, dead zone, easing and others.
- Fixed 1 frame lag when using SpringArmComponent.
- Fixed infinite rotation around a close Target.
- Replaced ActorRotationModule with a new PawnRotationExtension using a movement component.
- InterpolationSpeed, which has an inconsistent rotation speed, has been replaced with RotationRate working similarly to CharacterMovementComponent rotation.
- Fixed a glitch when using a spring arm. ActorRotationModule was ticking after the spring arm component, causing it to apply the parent transform.
- CameraZoomModule has been replaced with CameraModifierExtension that allows you to use any camera effects using a built in UCameraModifier.
- Added LockOnTargetCameraModifier_Zoom camera modifier to smoothly change the camera FOV.
- Removed the LOT_FOV_Curve asset used by CameraZoomModule.
GameplayDebugger:
- Renamed the class name to comply the Epic standard.
- Removed screen boundary box drawing.
- Slightly reorganized the displayed information.
Profiling:
- Removed preprocessor macro LOT_INSIGHTS.
- Added 'LockOnTarget' channel. To enable it, use -trace=lockontarget in the command line options.
- Added more timers.
v1.4.3-5.0
Update 1.4.3
- Fixed compilation errors on Linux.