Easy Flashbang Documentation
EASYFLASHBANG 2.0.0 DOCUMENTATION Copyright CelestiaDominance 2026. All Rights Reserved.
Supported plugin variants =========================
Unreal Engine 5.8: EngineVersion 5.8.0 Unreal Engine 5.7: EngineVersion 5.7.0 Supported target platform: Win64 (Windows 64 bit)
Product links =============
Author: CelestiaDominance Author page: https://www.fab.com/sellers/CelestiaDominance Marketplace: https://www.fab.com/listings/f1e3331e cbd4 446b a325 28ed5cb91a50 Documentation: https://celestiadominance.com/easy flashbang documentation Support: https://discord.com/invite/9Zc4wbwqG9
1. WHAT THE PLUGIN DOES =======================
EasyFlashbang is a source code Unreal Engine runtime plugin for creating a flashbang effect from a reusable actor component. Version 2.0.0 provides:
Server authoritative flash triggering with an optional, validated owning client request path. An always relevant replicated relay, so clients receive a flash even when the grenade actor itself is no longer network relevant to them. Per local player effects, including independent split screen handling. Distance, facing direction, and line of sight exposure calculation. A temporary white flash, optional captured after image, sound, and point light. Server side notifications for AI or gameplay actors. Local notifications for camera, input, audio, and post process reactions. Deterministic, networked bounce sounds. A usable native default widget plus optional Blueprint customization. Runtime/editor validation that clamps unsafe settings.
The plugin does not add an input binding or grenade fuse. Your grenade, weapon, ability, or gameplay code decides when to call Trigger Flash.
2. ENABLE AFTER INSTALLING FROM FAB ===================================
1. Add/install EasyFlashbang for your Unreal Engine version from your Fab Library through the Epic Games Launcher. 2. Open the Unreal project that will use the plugin. 3. In Unreal Editor, open Edit Plugins. 4. Search for EasyFlashbang, enable it, and restart the Editor if prompted. 5. Add Easy Flashbang Component to your grenade Blueprint when you are ready to configure the effect.
Fab/Launcher handles the plugin files. Buyers do not need to copy the plugin folder manually or modify Unreal Engine source files.
3. QUICK START IN BLUEPRINT ===========================
1. Open the grenade Actor Blueprint. 2. Add an Easy Flashbang Component. 3. Configure Flash Radius, duration, sound, light, widget, and bounce settings. 4. In the authoritative grenade detonation path, call Trigger Flash on the component. 5. Destroy the grenade after Trigger Flash has executed, if your grenade logic normally destroys it. The shared relay continues delivery independently.
Recommended multiplayer flow:
Server fuse or server gameplay event Trigger Flash server validates and calculates gameplay listeners global relay multicasts presentation data every local player evaluates its own camera exposure
Calling Trigger Flash on the server is the preferred setup.
Optional owning client request:
Allow Owning Client Trigger Requests must be enabled. The grenade Actor must replicate. The Easy Flashbang Component must replicate. The grenade Actor must be owned by that requesting client. Requests are rate limited by Minimum Server Trigger Interval.
If those ownership conditions are not true, the component rejects the request and logs an actionable warning. Do not use this optional request as a substitute for server authority over spawning, fuses, ammunition, damage, or inventory.
4. EXPOSURE RULES =================
Each local player and server side listener is evaluated with the same shared distance/facing calculation:
Flash Radius: outside this radius, the actor is unaffected. Full Flash Radius: inside this radius, distance contributes full intensity. Full Effect Dot Threshold: how directly the view must face the flash for the front facing effect. Rear Effect Multiplier: remaining effect when looking away. Occlusion Trace Channel: channel used for line of sight traces. Occlusion Tolerance: permits a small hit distance near the flash origin so the grenade's own nearby geometry does not incorrectly block the effect.
Final intensity is clamped to 0.0 1.0. Duration and white blindness hold time are scaled by that intensity.
5. CAMERA AND INTERFACE SETUP ============================
Implement Easy Flashbang Interface on a player view target, Pawn, AI Actor, or other gameplay listener when custom behavior is needed.
Get Flashbang Camera
Return the Camera Component that represents this actor's view. The same camera is then used for location, facing, line of sight, field of view, and after image capture. If no camera is returned, a local player falls back to the current PlayerController camera. A Pawn listener falls back to its eye viewpoint.
On Flashbang Received
Runs on the server for overlapping interface actors that pass the radius, facing, and line of sight checks. Use this for authoritative AI blindness, accuracy penalties, state changes, or gameplay decisions. The plugin deduplicates actors even when several of their components overlap the query.
On Local Flashbang Received
Runs locally on the affected player's view target, or Pawn when the view target does not implement the interface. Use it for client only camera shake, tinnitus, post process, temporary input feedback, or other presentation logic.
Local Player Subsystem event
The Easy Flashbang Local Player Subsystem exposes On Local Flash Received with:
Flash Location Intensity Duration
In Blueprint, obtain it with Get Local Player Subsystem for the relevant local player. This is the cleanest global hook when the Pawn/view target should not own the reaction logic.
6. WIDGET SETUP ===============
If Flash Widget Class is empty, the plugin restores and uses its native FlashbangWidget class. The native widget creates a complete non interactive overlay and does not consume mouse or gameplay hit tests.
To customize it:
1. Create a Widget Blueprint derived from FlashbangWidget. 2. Optionally provide widgets with these exact names: RootCanvas (Canvas Panel) AfterImage (Image) WhiteFlashImage (Image) 3. Assign the Widget Blueprint to Flash Widget Class. 4. Optionally implement these Blueprint events: On Flash Started On Flash Updated On Flash Finished
On Flash Updated supplies elapsed time, normalized time, white alpha, and after image alpha, so a custom visual can use the native timing without duplicating it.
Widget Policy:
Refresh Existing: repeated flashes refresh a compatible active widget. Replace Existing: repeated flashes remove the previous widget and create a new instance.
Widget Z Order is configurable. The widget is added to the affected local player's screen, not globally to player index 0, so split screen players receive independent overlays.
If a custom Widget Blueprint or other asset is selected, ensure that asset is referenced by the buyer project so Unreal includes it in cooked builds.
7. AFTER IMAGE PERFORMANCE ==========================
Use After Image controls whether the view is captured at the moment of exposure. The render target is cached per local player and reused instead of allocating a new full resolution target for every flash.
After Image Resolution Scale defaults to 0.5. After Image Max Dimension defaults to 2048. Hide Pawn In After Image can hide the local Pawn from capture.
For lower end hardware, VR, high resolution displays, or many local players, reduce the resolution scale/max dimension or disable after image capture. The white overlay, sound, light, interface events, and exposure checks still work.
8. SOUND AND LIGHT ==================
Flash sound
Assign Flash Sound and optionally Flash Sound Attenuation. The replicated relay plays it at the flash location on each non dedicated client.
Flash light
Enable Use Flash Light to spawn a transient movable point light. Intensity, color, attenuation radius, and lifetime are configurable. The lifetime is always clamped above zero, preventing a supposedly temporary flash light from persisting. The light does not cast shadows.
Dedicated servers skip widget, capture, sound, and light presentation work.
9. BOUNCE SOUND SETUP =====================
Assign Bounce Sound and optionally Bounce Sound Attenuation. The server checks impact speed and cooldown, then multicasts the approved bounce sound.
Choose the physics component deterministically in this order:
1. Set Bounce Physics Component explicitly (recommended). 2. Otherwise, set Bounce Physics Component Tag and put that unique tag on one Primitive Component. 3. Otherwise, the owning Actor's root Primitive Component is used.
The plugin refuses ambiguous or external component matches and logs why. It does not silently bind to the first arbitrary physics component.
The selected component must simulate physics. The plugin enables rigid body hit notifications for it. If physics or the component is created/enabled after Begin Play, call Refresh Bounce Binding afterward.
Impact speed considers both post impact linear velocity and normal impulse divided by mass. Min Velocity For Bounce Sound and Bounce Sound Cooldown are configurable.
10. SERVER SIDE LISTENERS / AI ==============================
Listener Object Types controls which collision object types are overlapped on the server. Pawn and WorldDynamic are added by default. Add other object types if your AI/listener Actors use custom collision object channels.
For a listener to receive On Flashbang Received:
at least one component must overlap the configured object query; the Actor must implement Easy Flashbang Interface; it must be within Flash Radius; line of sight must pass on Occlusion Trace Channel; the shared exposure calculation must return a nonzero result.
Configure collision responses intentionally. A wrong object type or trace channel can make an otherwise correct listener invisible to the query.
11. VALIDATION AND DIAGNOSTICS ==============================
Validate Settings is Blueprint callable and also runs automatically in the editor and at runtime. It clamps non finite, negative, inverted, or extreme values, keeps Full Flash Radius within Flash Radius, restores a default widget, and enforces safe light/request bounds.
Useful log category: LogEasyFlashbang
Typical warnings explain:
a client request that cannot reach the server because replication/ownership is missing; an ambiguous, external, missing, or non simulating bounce component; invalid settings that were clamped; missing valid listener object types; failure to create the relay or widget.
On Flash Triggered is available on the component for server side confirmation after the effect has been accepted and handed to the relay.
12. MULTIPLAYER BEHAVIOR ========================
Trigger authority: server. Optional client request: reliable server RPC, ownership checked by Unreal plus explicit replication/ownership checks, setting gate, and rate limit. Flash delivery: reliable multicast through one transient always relevant relay. Bounce delivery: unreliable multicast, appropriate for noncritical impact audio. Local view effects: evaluated independently for every LocalPlayer. AI/gameplay listener event: server only. Dedicated server: gameplay listener processing remains; visual/audio work is skipped.
The relay is intentionally independent of the grenade Actor's relevancy. This prevents the original failure mode where a distant or quickly destroyed grenade could not deliver a flash event to an otherwise affected player.
13. MIGRATION FROM VERSION 1 ============================
Existing property names and Trigger Flash are preserved where practical, but version 2 changes the network path and hardens configuration.
Review these items after upgrading:
Call Trigger Flash from server authoritative grenade logic when possible. If a client must request it, configure actor/component replication and network ownership explicitly. Select the bounce physics component instead of relying on component order. Add any custom AI collision types to Listener Object Types. If you used a custom camera, implement Get Flashbang Camera. Confirm the custom widget derives from FlashbangWidget. Retune after image resolution for the target hardware.
SUPPORT =======
For product support, use: https://discord.com/invite/9Zc4wbwqG9
Marketplace listing: https://www.fab.com/listings/f1e3331e cbd4 446b a325 28ed5cb91a50
Online documentation: https://celestiadominance.com/easy flashbang documentation
CelestiaDominance seller page: https://www.fab.com/sellers/CelestiaDominance