> 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/introduction/scripting-cyberpunk.md).

# Scripting Cyberpunk

Welcome to script modding!

## Table of Contents

* [Introduction](/scripting-cyberpunk/introduction/scripting-cyberpunk.md): The introduction to this wiki, welcome!
* [REDscript](/scripting-cyberpunk/redscript/what-is-redscript.md): The section dedicated to the REDscript language and all of its cool features.
* [Cyber Engine Tweaks](/scripting-cyberpunk/cyber-engine-tweaks/what-is-cet.md): The section dedicated to the scripting aspect of CET, for documentation about the other aspects of CET, look here: [Cyber Engine Tweaks](https://wiki.redmodding.org/cyber-engine-tweaks/)
* [Scripting](/scripting-cyberpunk/scripting/redscript-to-cet.md): The section that contains documentation regarding aspects of scripting that's language agnostic, here is where various game systems and other aspects are documented and implemented in REDscript and/or CET.

## About

This wiki hosts information about scripting with Cyberpunk, you have four options on how you want to write scrips:

* [REDmod](https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-creators-theory/modding-tools/redmod)
* [REDscript](/scripting-cyberpunk/redscript/what-is-redscript.md) (Swift-like)
* [Cyber Engine Tweaks](/scripting-cyberpunk/cyber-engine-tweaks/what-is-cet.md) (Lua)
* [RED4ext](https://docs.red4ext.com/) (C++)
  * You can also develop C# extensions for [RED4ext](https://docs.red4ext.com/).

This wiki however focuses on Redscript, CET, and the various systems in the game and how you can interact them with scripting.

## How does stuff work in Cyberpunk?

### The executable

Most of the game is implemented in C++ and only accessible through the game's executable (.exe file). Fortunately, [RED4ext](https://docs.red4ext.com/) and [Cyber Engine Tweaks](/scripting-cyberpunk/cyber-engine-tweaks/what-is-cet.md) hook into that, and [Codeware](https://www.nexusmods.com/cyberpunk2077/mods/7780) provides and extends a common interface for both.

The hooks are dependent on **binary addresses**, which is why the [core mods](https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-creators-theory/core-mods-explained) are version dependent (and why cracked games don't mod well).

### Scripts

Scripts are precompiled into `r6/cache/final.redscripts` . As the file extension suggests, they can be modded with [redscript](/scripting-cyberpunk/redscript/what-is-redscript.md).

### The tweak database

Any **properties** of game items and characters are defined in the tweak database. You can learn more about it under [Cyberpunk 2077 Modding](https://wiki.redmodding.org/cyberpunk-2077-modding/) -> [Tweaks](https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-creators-theory/tweaks)
