Skip to content

Vaei/Vigil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vigil

Important

Focus Targeting System
Robust, Data-Driven, Asynchronous
With optional Net-Prediction
And its FREE!

Note

Vigil determines what the player is looking at
What they want to interact with
Which enemy they want to lock onto
Which ally they want to auto-target with their healing spell

Warning

Optionally download the pre-compiled binaries here
Install this as a project plugin, not an engine plugin
The content is not necessary, reproducing it is very simple

Tip

Suitable for both singleplayer and multiplayer games
Supports UE5.4+

Caution

Vigil is currently in beta
There are many non-standard setups that have not been fully tested
Vigil has not been tested at scale in production
Vigil's net prediction has not been widely tested, esp. the workflow -- feedback wanted

Watch Me

How to Use

Features

Modular Data-Driven Setup

Very easy to customize, modify, and extend behaviours without writing any C++ or modifying the base plugin. Vigil is built on top of the Targeting System plugin.

Quick Setup

Vigil can be setup in mere minutes with usable results drawn to screen.

Multiple Focus Channels

Not a single-use focusing system, add as many focus channels as you need. Vigil will tell you what ally, and enemy, and interactable we're focused on separately.

Robust Results

Vigil provides the results via a callback that you can assign to from anywhere. These are already sorted for you, so the current focus is the first index, but you have access to all options as well as their scoring for visual purposes if you need it.

Optional Net Prediction

Run the scan ability as Local Only or set to Local Predicted if you need predicted focus results!

Logging and Debugging

Vigil includes verbose logging that will allow you to see every stage of the focusing system to make diagnosing issues easy. There are debugging tools to visualize what is happening.

Changelog

1.4.3

  • Fix cone target selection bug - was using mid-point of cone instead of rear as origin for angle checks

1.4.2

  • Add Fallback rotation sources for when InputVector or Velocity produce zero vectors

1.4.1

  • Add InputVector and Velocity as rotation sources for target selection
    • Useful for top-down games that are pawn-relevant instead of camera-relevant
  • Added helpers for cleaner code UVigilStatics::GetActorFromVigilResult(Result); and UVigilStatics::GetComponentFromVigilResult
    • Was really messy having to break the hit result structs in BP

1.4.0

  • Fixed bug where destroyed actors were not resulting in events broadcasting

1.3.4

  • Fixed category for VigilTargeting

1.3.3

  • Change Failsafe Timer to Weak Lambda because OnDestroy not being called at correct point in lifecycle after UEngine::Browse (open map)

1.3.2

  • Fix UVigilScanTask::GetOwnerNetMode() checks

1.3.1

  • Replace native ptr with TObjectPtr

1.3.0

  • Due to Engine bug where Targeting Subsystem loses all requests when another client joins, a failsafe has been added
  • Fixed SourceActor Controller not finding PlayerController in UVigilTargetingStatics::GetSourceLocation
  • Debug logging now identifies which client is logging

1.2.3

  • Mark scan task as neither simulated nor ticking
  • Mark Vigil category as Important to sort to top of details panel

1.2.2

  • Fixed gating target results by unique actor, now multiple components on the same actor are valid focuses
  • HitResult ImpactPoint now outputs the component location instead of actor
    • Debug drawing uses this, so it will correctly show the hit component location instead of actor now
  • Fix out of order bAwaitingCallback flag and asynctaskdata being added for immediate trace post net sync, though it wasn't causing any issue

1.2.1

  • Exposed ErrorWaitDelay on task node for advanced control and optimization
  • Corrected UPROPERTY specificers

1.2.0

  • Removed dependency on PlayerController
    • Allows for use on AIController, however this is untested

1.1.0

  • Net prediction Workflow see Wiki
  • Add FindVigilComponentForActor to save a BP cast

1.0.0

  • Initial Release

About

Gameplay Focus - robust, data-driven, asynchronous, with optional network prediction.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published