Skip to content

Releases: J1blCblu/LockOnTarget

v1.6.2-5.4

07 Oct 16:37

Choose a tag to compare

Small improvements and bug fixes.

v1.6.2-5.3

07 Oct 16:36

Choose a tag to compare

Small improvements and bug fixes.

v1.6.2-5.2

07 Oct 16:35

Choose a tag to compare

Small improvements and bug fixes.

v1.6.1-5.3

01 Nov 16:38

Choose a tag to compare

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

01 Nov 16:35

Choose a tag to compare

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

01 Nov 16:34

Choose a tag to compare

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

03 Oct 22:52

Choose a tag to compare

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

03 Oct 22:52

Choose a tag to compare

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

03 Oct 22:51

Choose a tag to compare

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

03 Oct 21:02

Choose a tag to compare

Update 1.4.3

  • Fixed compilation errors on Linux.