> For the complete documentation index, see [llms.txt](https://wiki.redmodding.org/scripting-cyberpunk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.redmodding.org/scripting-cyberpunk/how-do-i/effects/registering-new-effects.md).

# Registering new effects

{% hint style="info" %}
You can find the theoretical information about effects in the yellow wiki: [Cyberpunk 2077 Modding](https://wiki.redmodding.org/cyberpunk-2077-modding/) -> [Effects and particles](https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/effects-explained)
{% endhint %}

## Prerequisites

* You already have an .es file with your custom effect
* Using the method below will add Redscript and Codeware to your mod's dependencies

## Merging your custom .es file into static\_effects.csv

Create a new file in `r6/scripts/yourname` and call it something like `registerEffects.reds`. Paste the following content:

{% code title="Originally provided by psibex" %}

```swift
class EffectFactoryTest extends ScriptableService {
    private cb func OnLoad() {
        GameInstance.GetCallbackSystem().RegisterCallback(n"Resource/Loaded", this, n"OnEffectFactoryLoad")
            .AddTarget(ResourceTarget.Path(r"base\\gameplay\\game_effects\\static_effects.csv"));
    }
    private cb func OnEffectFactoryLoad(event: ref<ResourceEvent>) {
        let csv = event.GetResource() as C2dArray;
        ArrayPush(csv.data, ["my_effect", "mymod\\effect.es"]);
    }
}
```

{% endcode %}

That's it. After this script gets executed, your effect is now available.
