Verified integration recipe
Add Custom Senses, Damage Alerts, and World Sounds
Feed game-specific perception into Argus through ISensor, SoundBus, or an explicit custom stimulus while retaining awareness, suspicion, memory, squads, and debugging.
Best for: Damage systems, alarms, proximity senses, magic detection, scent trails, and gameplay eventsThe connection pattern
- Use SoundBus.Emit for audible world events such as footsteps, gunshots, and impacts.
- Inject StimulusType.Custom when an event is already authoritative, such as damage or an alarm.
- Implement ISensor when the guard should scan repeatedly for a new kind of evidence.
- Tune the custom type ceiling and combat qualification in SuspicionConfig.
Minimal adapter
custom-senses-and-events.csCopy into your game assembly
using UnityEngine;
using Argus.Components;
using Argus.Core;
using Argus.Sensors;
public sealed class ArgusGameplaySignals : MonoBehaviour
{
[SerializeField] private StealthAgent guard;
public void EmitFootstep(float intensity)
{
SoundBus.Emit(transform.position, intensity, SoundType.Footstep, this);
}
public void AlertGuardFromDamage(Vector3 attackerPosition)
{
if (guard == null || guard.Awareness == null) return;
var stimulus = new Stimulus(
StimulusType.Custom,
attackerPosition,
1f,
this,
Time.time);
guard.Awareness.ApplyStimulus(stimulus, dt: 1f, multiplier: 1f);
}
} Why this seam stays stable
SoundBus broadcasts one world event and lets every HearingSensor apply its own range and occlusion math. Passing a source keeps different emitters on separate memory tracks.
Custom stimuli are intended for direct game knowledge such as damage, scripted alarms, or a project-specific sensor. They still travel through the normal awareness pipeline, so the debugger can explain the result rather than presenting an unexplained state jump.