# Effects modding

## Summary

**Published**: Jul 12 2024 by @고양이\
**Last documented edit**: Jul 12 2024 by [mana vortex](mailto:undefined)

### Wait, this is not what I want!

* See [Effects and particles](/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/effects-explained.md) for the theory
* See [Effect components](/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/components/documented-components/effect-components.md) for effect explanations by component
* See [FX Material Properties](/cyberpunk-2077-modding/for-mod-creators-theory/materials/configuring-materials/fx-material-properties.md) for animated *materials*
* While explosions are definitely effects, lights are something else => [Lights explained](/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/lights-explained.md)
* To **position** effects, see [AMM: Light Components](/cyberpunk-2077-modding/for-mod-creators-theory/3d-modelling/custom-props/amm-light-components.md) -> [AMM: Light Components](/cyberpunk-2077-modding/for-mod-creators-theory/3d-modelling/custom-props/amm-light-components.md#placing-your-light-components)

## CET Script

This script extracts all the VFX names from TweakDB and prints them in the CET Console along with their TweakDB record they are attached to; these can be reused for buffs & status effects.

```
local GetVFX = function(self)
	local VFX = {}
	local loops = TweakDB:GetRecords('gamedataStatusEffectFX_Record')
	for i,v in ipairs(loops) do
		local recordID = v:GetRecordID().value
		local thisVFX = TweakDB:GetFlat(recordID..'.name').value
		VFX[thisVFX]=recordID
	end
	
	loops = TweakDB:GetRecords('gamedataEffector_Record')
	for i,v in ipairs(loops) do
		local recordID = v:GetRecordID().value
		local thisVFX = TweakDB:GetFlat(recordID..'.vfxName')
		if thisVFX ~= nil then
			thisVFX = thisVFX.value
			VFX[thisVFX]=recordID
		end
	end
	for k,v in pairs(VFX) do
		local theString = 'VFX: '..tostring(v)..'=>'..tostring(k)
		print(theString)
	end;
end;
GetVFX()

```

## Recommended mods

FX player ([Nexus](https://www.nexusmods.com/cyberpunk2077/mods/8194)) is a CET mod that lets you play game effects.

## To select and identify effect files used in different ways

As we progress through the game, we encounter many effects, such as those seen in Cyberspace. Since I don't yet know everything, I'll show you the process of creating a mod.

Firstly, we choose the effect we want to import. I found an effect I want to use for overclocking during the Somewhat Damaged quest, and the quest code is Q305\_bunker. Navigate to the asset browser and search for related items, focusing on extracting the effect files.

<figure><img src="/files/A7QgiKqkVQ6g4bCaLkLJ" alt=""><figcaption><p>fxLibrary.lua</p></figcaption></figure>

To confirm if this effect is what I'm looking for, I need the [FX player](https://www.nexusmods.com/cyberpunk2077/mods/8194) mod. Based on the Cyberpunk installation folder, go to bin\x64\plugins\cyber\_engine\_tweaks\mods\FxPlayer\modules and confirm that fxLibrary.lua operates in the same format.

Copy the file path of the desired effect to play these files in-game using CET (Cyber Engine Tweaks).

<figure><img src="/files/7j2QZwosATt8Biz28B9k" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.redmodding.org/cyberpunk-2077-modding/modding-guides/everything-else/effects-modding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
