REQUEST: Ball Throwing Mechanic with the NEW Abilities System

Hello, I had a conversation about this request with the Epic Developer Assistant and it gave me the follow feedback. I am hoping that this can be shipped with the general release. Please let me know if what the EDA made sense or this is impossible to do. Thank you!

To present your feature request effectively to the Epic Games developers, it is best to use the specific terminology associated with the experimental Abilities System and Scene Graph.

In the experimental framework, this mechanic is best described as an interaction between an ability_context (which carries the “Instigator”) and a projectile_component (which handles the impact). Below is a professional rewrite of your request, followed by a conceptual Verse implementation to demonstrate exactly how you envision the “chip” (component) working.

Forum Post Rewrite

Title: Feature Request: Team-Aware Projectile Catch/Interception Logic via experimental Abilities System

Body:
"Hello, with the rollout of the experimental Abilities System and Custom Items & Inventory, I am looking to implement a robust American Football mechanic.

Specifically, I am requesting a way to handle ‘Affiliation-Based Projectile Collisions.’ The goal is to differentiate between a Catch (teammate impact) and an Interception (opponent impact) when a custom item is thrown.

Ideally, we could attach a custom component to a projectile_template that acts as a tracking ‘chip.’ This component would store the Instigator from the ability_context at the moment of the throw. Upon impact, the system should allow us to compare the Target agent’s team against the stored Instigator team to trigger distinct programmable events.

Is this workflow currently supported within the fort_projectile_component logic, or are there plans to expose team-based filtering for projectile impacts in the Abilities API?"

Conceptual Verse Implementation

This code demonstrates how a “Chipped Ball” would function using a custom component to track the thrower and evaluate the team during an impact event.

# Feature Request: American Football Throw/Catch Mechanic for Abilities System

## Summary
This is a feature request to enable a robust American Football-style throw, catch, and interception mechanic using the experimental **Abilities System** in conjunction with **Custom Items & Inventory**. The goal is to create a system where a thrown custom item can differentiate between a teammate catch and an opponent interception, with distinct, programmable events for each outcome.

## Proposed Mechanic
The core of this system would revolve around "itemization affiliation"—associating a thrown item with its original thrower to determine the context of a catch.

### 1. The Throw Action
- A player would activate a custom `ability` (e.g., `ThrowFootballAbility`).
- The ability's `Commit` or `Activate` logic would spawn a projectile entity representing the custom football item.
- Crucially, the `ability_context` would provide the `Instigator` (the throwing player). This instigator's identity must be passed to the spawned projectile.

### 2. Item Tracking ("The Chipped Ball")
- The spawned projectile entity would have a custom `component` attached that acts as a tracking chip.
- This component would store a reference to the `Instigator` agent who threw the ball.
- This establishes a clear "affiliation" between the projectile and the throwing player's team.

### 3. Catch vs. Interception Logic
- When the projectile collides with another player, the system would trigger an impact event.
- The event payload should provide access to the `Target` agent that was hit.
- The core logic would then compare the team of the `Target` (the catcher) against the team of the stored `Instigator` (the thrower).

**Conceptual Verse Logic:**

How to set this up in UEFN (Experimental)

  1. Enable Experimental Features: Go to Project Settings and ensure Scene Graph and Custom Items and Inventory are enabled.
  2. Create the Verse Component:
    • In the Verse Explorer, right-click your project folder and select Create New Verse File.
    • Name it football_projectile_component.verse, paste the code above, and Build Verse Code.
  3. Create a Projectile Entity Prefab:
    • In the Content Browser, create a new Entity Prefab.
    • Add a mesh_component to represent the football.
    • Add the fort_projectile_component (experimental) to define its flight behavior.
    • Add your custom football_projectile_component to act as the “tracking chip.”
  4. Assign the Ability:
    • Create a Custom Item using the item_component.
    • Add a fort_item_ability_component to the item.
    • In the ItemAbilities list, point to a Verse-authored ability that spawns your Projectile Entity Prefab and sets the Instigator variable on the component.

Key Considerations for Developers:

  • Instigator Data: The most important part of your request is ensuring that the Instigator from the ability_context is easily accessible to the projectile entity once it is spawned.
  • Impact Payload: You are requesting that projectile_impact_result reliably provides the Target entity so it can be cast to an agent for team checks.