Save up to 70% on our assets during the Black Friday sale in the Unreal Marketplace

Realistic Lighting Control System!

With the fully replicated beacon and siren control system, you can give your Unreal Engine game, cinematic, or simulation that extra “kick.” Realistic signal lights? No problem.

Siren Control System

Description

The Siren Control System (SCS) offers you a delightfully mischievous arsenal of features to put your hopelessly overenthusiastic emergency vehicles in the limelight. Control light bars, sirens, and flashing signals directly in your Blueprints, and watch as even deaf AI characters surrender to your pixel-perfect onslaught of light and sound. You provide the assets, SCS provides the functionality.

Screenshots

Siren Control System Plugin
Play Video about Siren Control System Plugin

Siren Control System: Showcase

The Siren Control System helps you create performant and, above all, beautiful light bar effects with integrated siren control. Add your assets (sirens, light bars) and enjoy an epic experience for your game, cinematic, or simulation within just a few minutes. Perfect for all types of emergency vehicles, including construction and airport vehicles. What are you waiting for?

Documentation & News

Table of Content

Getting Started

Lightbar
SCS provides the functionality for your already existing 3D lightbar. The following documentation explains how to adjust your 3D model so it works seamlessly with SCS.
Siren and Matrix
The siren and, for example, matrix textures must be provided by you. Within the actor itself, you can add the matrix and the siren(s) in just a few seconds. For best results, use high-quality sounds in conjunction with SoundCues.

Available Blueprint Nodes

Start Blue Light
  • Target: SCS Actor
  • Description: Starts the first light pattern of the lightbar.
Stop Blue Light
  • Category: SCS Actor
  • Description: Stops the current light pattern of the lightbar.
Change Light Pattern
  • Target: SCS Actor
  • Description: Changes the light pattern to the next or previous available pattern.
  • Inputs:
    • Next (Bool): If “true,” play the next pattern.
Go to Pattern by Row Name
  • Target: SCS Actor
  • Description: Directly changes the current light pattern to one of the specified patterns – DataTable Row Name.
  • Inputs:
    • Pattern Row Name (Name): Name of the DataTable row to be played.
Toggle Siren
  • Target: SCS Actor
  • Description: Starts/deactivates the siren.
  • Inputs:
    • Activate (Bool): If “true,” activates the siren.
Change Siren Sound
  • Target: SCS Actor
  • Description: Plays the next/previous siren from the list.
  • Inputs:
    • Next (Bool): If “true,” plays the next siren.
Start Matrix
  • Target: SCS Actor
  • Description: Starts the matrix.
  • Explanation: The matrix displays content such as “Stop, Police”.
Stop Matrix
  • Target: SCS Actor
  • Description: Deactivates the matrix.
Change Matrix Info
  • Target: SCS Actor -> MatrixLogic (Component)
  • Description: Switches to the next/previous matrix list entry.
  • Inputs:
    • Next (Bool): If “true,” switches to the next list entry.
Activate Blinker
  • Target: SCS Actor -> BlinkerLogic (Component)
  • Description: Activates/deactivates the turn signal or toggles its status.
  • Inputs:
    • BlinkerType (Enum): Choose the turn signal type. Left; Right; Hazard
    • Activate (Bool): If “true,” activates the turn signal mode.
Set Alley Lights Mode
  • Target: SCS Actor -> AlleyLightsLogic (Component)
  • Description: Activates/deactivates the alley lights or toggles their status.
  • Inputs:
    • New Mode (Enum): Choose the alley light mode. Off; Front; Back; Left; Right; Front/Back; Left/Right; AllAround.
    • Activate (Bool): If “true,” activates the alley lights.

Adjusting the 3D Model

Adjusting or Creating Your 3D Model
  1. Load your object into Blender, for example, or create a new lightbar.
  2. The surfaces of your object that should later have a lighting function need their own material. Multiple surfaces that always light up together can share the same material, of course.
  3. Make sure your materials are always sensibly named to avoid extra effort later.
Material Slots
  1. Your existing lightbar should have one material slot for each individually illuminated area.
  2. Save on performance by giving surfaces that always light up together just one material slot.
  3. You need one material per “individually controllable” illuminated surface.
  4. You can control these surfaces individually in Unreal Engine, independent of other material slots.
  5. It’s best to prepare a text document or a screenshot of your model where each ID is visible. This will save you time and nerves later:
Texture – A Must?
  1. For a realistic 3D object, we highly recommend using textures.
  2. They are not mandatory, though. In the plugin’s demo content, you’ll find a universal master material.
  3. If you want to use textures, we recommend the following: – Albedo, Normal, ORM*, Emissive * Ambient Occlusion, Roughness, Metallic (Channel-Packed)
Siren Control System Plugin
LightSlotID Overview Screenshot - for easier LightPattern assignment (L=Left; R=Right; F=Front; B=Back)
Note: In this example, I’m using L for Left, R for Right, etc. This is not mandatory—you can name them however you like. However, a logical naming convention is more useful than random names since you’ll have to assign these slots later.
Siren Control System Plugin
Define the areas of your mesh which should glow - LightSlotID = MaterialID

Creating Lightbar Logic

Demo Content
SCS provides demo content, including a lightbar and a beacon light that are fully integrated and functional. You can find this content under /Plugins/SCS Content/. If you don’t see the content in the Content Browser, click on “Settings” in the top-right corner of the Content Browser and enable “Show Plugin Content”.
Siren Control System Plugin
Create a Blueprint Actor
  1. Go to the Content Browser and create a folder named “SCS_Lightbar_1” or anything you prefer.
  2. Create a Blueprint Actor by right-clicking -> Blueprint Class. Choose the “Actor” class.
  3. Name the file BP_SCS_Lightbar or something similar.
  4. Click “File” -> “Reparent Blueprint” at the top left.
  5. Select “Light Pattern Actor”.
  6. You should now see new components listed under “Components”.
Siren Control System Plugin
Assign the Mesh
  1. Add your static mesh to the “Light Mesh” component.
  2. Make sure to assign the mesh only there.
Create DataTables (Blinker and Light Pattern)
  1. Go to the folder where you created your Blueprint Actor.
  2. Right-click and choose “Miscellaneous” and then “DataTable”. Repeat this process twice:
    1. Select “Light Pattern Struct” for the first DataTable.
    2. Select “Blinker Row” for the second DataTable.
  3. Name the DataTables “DT_Blinker” and “DT_LightPattern” or something similar.
Siren Control System Plugin
Assign DataTables in the Blueprint
  1. In your Blueprint Actor, you need to assign the Data Tables in up to two places. This will be simplified in future updates.
  2. Go to your EventGraph and place “Event Begin Play”.
  3. Connect “Event Begin Play” to the “Set Light Pattern Table” node. Select your “DT_LightPattern” here.
  4. Connect another node called “Initialize (BlinkerLogic)” and select “DT_Blinker” here.
  5. For “InMeshComponent”, connect the “Light Mesh” which you can drag from your Components window at the top-left.
Siren Control System Plugin
Assign DataTables in the Blueprint Class
  1. Click “Class Default” at the top center, and on the right side, go to the following categories:
    1. “Light Pattern”
    2. “Blinker”
  2. Assign the respective DataTable again here.
Siren Control System Plugin

Setting Up the Blinker Logic

  1. Open “DT_Blinker”.
  2. Create three new entries with the “RowNames”: Left; Right; Hazard.
  3. Select the appropriate “Blinker Type” for each entry.
  4. For “Material Slot Names,” select the material slot names that represent your blinker on your static mesh. For example, the left side might have a front and back surface.
  5. “Blink Duration” specifies how long a blinker remains lit.
  6. “Pause Interval” specifies the length of the pause between blinks.
  7. “Color Tint” is the color of the blinker, and “Inactive Color Tint” is the color when the blinker is inactive—usually white.
  8. “Emissive Intensity” determines the brightness of the blinker.
Siren Control System Plugin

Setting Up the Blue Light Logic

  1. Open “DT_LightPattern”.
  2. Create a new entry, for example, name it “Left Right Pattern” or something else.
  3. Enable “bLoop” at the bottom so the pattern repeats.
  4. “Active Lights” represents the cycle of the pattern; each entry is a cycle.
  5. Add three entries under “Active Lights”.
    1. In “LightSlotID,” you must enter all the material slot surfaces active for that cycle, e.g., “LF1; L0; LB1”. In “Emissive Intensity,” specify the brightness. Enable “bUseColorTint” and select “Blue”. Enable “bUseRealLight”.
Siren Control System Plugin

Activate the System Without a Vehicle

  1. To use the system, you need to place your SCS Blueprint into the level.
  2. Open your Controller Blueprint.
  3. At “Event Begin Play,” add “Get Actor of Class”.
  4. Search for your SCS Blueprint here.
  5. Drag the “Return Value” from “Get Actor of Class” and create a variable.
  6. You can now use this variable to, for example, call “Start Blue Light”.
Siren Control System Plugin

Setting Up the Alley Lights Logic

  1. Open your Blueprint Actor.
  2. Go to the Content Browser and right-click -> “Misc…” -> “Data Table” to create a Data Table of the type “Alley Light Row”.
  3. Open it and add up to 8 entries where you define front/back/left/right/leftRight/frontBack/allAround lights. Make sure the “DirectionMode” is correct. Enable “bUseRealLight” if needed.
  4. Go back to your Blueprint and add another node called “Initialize (AlleyLightsLogic)” at “Event Begin Play”.
  5. Add the DataTable here.
  6. You can find the Alley Lights controls in the Demo Content folder: “PC_ExampleController” using “SetAlleyLightsMode” (Target=SCS_Actor -> AllesLightsLogic).
Siren Control System Plugin

Setting Up the Matrix Logic

To use the Matrix system, you need 1) a material slot named “Matrix” on your mesh and 2) textures with patterns or text that fit the mesh.
  1. Open your Blueprint Actor.
  2. Click “Class Defaults” at the top center.
  3. In the Details panel on the right, search for the “Matrix” category.
  4. Enable “bHasMatrix”.
  5. Go to the Content Browser and right-click -> “Misc…” -> “Data Table” to create a Data Table of the type “Matrix Row”.
  6. Open it and add your desired entries.
  7. “Emissive Intensity” sets the brightness.
  8. “StepDuration” sets the display duration.
  9. “Matrix Color” is the color of the emissive texture.
  10. Under “Emissive Texture” (Array), add your text-emissive-textures.
  11. Now go back to your Blueprint Actor and add your DataTable under “Class Defaults” -> “Matrix”.
Alternatively, you can repurpose the Matrix as a traffic guidance system.
Siren Control System Plugin

Enable Real Lights

  1. Open your Blueprint Actor.
  2. Click “Class Defaults” at the top center.
  3. In the Details panel on the right, search for the “Light Pattern” category.
  4. Enable “bUseRealSpotLights”.
  5. “Spotlight Light Pool” limits the number of real lights. If you haven’t gone overboard, you can set “0” or, for example, “24”.
  6. “Real Spotlight Intensity” sets the brightness of the lights.
  7. Go to your “DT_LightPattern” and enable “bUseRealLight” in the desired “Active Lights” entries.
Siren Control System Plugin
Additionally, we must define the positions of the lights via “MeshSockets”.
  • Open your StaticMesh.
  • Click “Window” -> “Socket Manager”.
  • Add mesh sockets and name them exactly the same as the MaterialSlots that should light up. One socket per slot.
  • Align the sockets so that they are a) in the correct position and b) always oriented so that the red arrow points in the direction of illumination.
Siren Control System Plugin
Note: The more “real” lights you activate, the more performance it costs. Also, optimizing your existing scene plays a major role in how many FPS this feature will ultimately cost. Unoptimized scenes with many objects and possibly even fog can lead to relatively higher performance consumption.

Add a Siren

  1. Open your Blueprint Actor.
  2. Click “Class Defaults” at the top center.
  3. In the Details panel on the right, search for the “Siren” category.
  4. Add as many sirens to the “Siren Sounds Cue” array as you like. Entry [0] represents the first siren.
  5. Use “Priority Siren ID” to specify the index number (Siren Sounds Cue) that should be your “priority siren”.
  6. The same applies to “Dual Tone Siren ID”. Add an ID from the “Siren Sounds Cue” array here as the Dual-Tone-Siren. This siren will play simultaneously.
Siren Control System Plugin

Add the Lightbar System to the Car Blueprint

If you are using your own vehicle system or a plugin like AVS, you can integrate the system in just a few clicks.
  1. Open your vehicle Blueprint.
  2. Click “Add” in the top-right “Components” window.
  3. Search for “Child Actor” and add it.
  4. Assign your SCS Blueprint to the “Child Actor”.
  5. At “Event Begin Play,” add “Cast To <your-blueprint-name>”.
  6. Drag your “Child Actor” into your Blueprint Graph and drag from it “get child actor”.
  7. Connect this to “Cast To” and save the “Return Value” as a variable. Now you can use the system.
Compare the demo blueprints from the “Plugin Content Folder”.
Siren Control System Plugin

Executing Commands as Client (Multiplayer Logic)

The SirenControlSystem makes it extremely easy to create a server<->client functionality. Suppose you have a multiplayer vehicle system like “AVS” or similar, where players can already get in. You can do the following:
  1. Open your vehicle Blueprint and follow the steps from the previous point/topic.
  2. After integrating SCS, you can now, for example, activate “Start Blue Light” from your SCS Actor variable.
  3. Add an InputKey such as “Num1” or any InputAction that the client/server can use.
  4. Create a new event and name it “ActivateBlueLight” (Type: Run on Server) and connect this event to “StartBlueLight” of the SCS Actor variable.
  5. Connect your InputAction with “ActivateBlueLight”.
  6. Start a multiplayer match with a client player, get into the car, and test it out.
  7. Result: Both the server and the client should see the changes.
Siren Control System Plugin

Important Notices

  • Platform Support: In theory, the plugin supports not only Windows, MacOS, and Linux, but other platforms as well. However, this hasn’t been thoroughly tested—use at your own risk.
  • Performance: The more complex actors you use, the more performance it will cost. The more LightSlots you utilize, the less performant it becomes. Keep in mind that fog can also affect performance when using RealLight.

Video Tutorials

Troubleshooting & Common Issues

Spotlights shining in the wrong color: This is usually due to a faulty custom material missing nodes or not having the extended “EM” mode enabled. Check the example material and compare it to yours. Alternatively, you might have entered the wrong color in your DataTable or not enabled “UseColorTint”.
Some LightSlots do not emit any light: The “real light” feature is still experimental. Make sure all your MeshSockets are correctly named and match your LightSlotIDs.

Roadmap

Scroll to Top

Schön das du Interesse an dieser Anwendung hast.
Wähle unten die gewünschte Version aus.

Texture Channel Packer ist ein kostenloses Tool mit dem du verschiedene Texturen zu einer RGB Textur packen kannst.

Portable Edition – v1.0 | Größe: 10,7 mb

Thank you for your interest in this application.
Select the version you want below.

Texture Channel Packer is a tool that allows you to pack different textures into one RGB texture.

Portable Edition – v1.0 | Size: 10,7 mb

















WELL, WORK IN PROCESS | Check out the German Page, there it is working.