> 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/redscript.md).

# Redscript

- [What is REDscript?](https://wiki.redmodding.org/scripting-cyberpunk/redscript/what-is-redscript.md): REDscript is a very cool language :^)
- [Resources](https://wiki.redmodding.org/scripting-cyberpunk/redscript/resources.md): A collection of helpful links and resources for Redscript
- [Getting Started](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started.md)
- [Setup](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/setup.md): Preparations for REDscripting.
- [Setup for VSCode](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/setup/setup-for-vscode.md): How to configure your setup
- [Setup for JetBrains IDEs](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/setup/setup-for-jetbrains-ides.md): This guide shows how to setup a JetBrains IDE to work with redscript files to enable features like syntax highlighting, auto-completion, etc.
- [How to start REDscripting](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/how-to-start-redscripting.md): Downloaded and prepared my IDE to do some scripting, what now?
- [REDscript in 2 minutes](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/how-to-start-redscripting/redscript-in-2-minutes.md): Learn REDscript directly from REDscript code! Get inspired, feel the vibe
- [How to create a hook](https://wiki.redmodding.org/scripting-cyberpunk/redscript/getting-started/how-to-create-a-hook.md): Examples of creating hooks
- [Language Reference](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference.md)
- [Hook Annotations](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/hook-annotations.md): Special keywords that you can use to change or extend the behavior of existing methods and classes in the base game.
- [Data Types](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/native-types.md): Built-in types available in the game runtime.
- [Strings](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/strings.md): How to get shit done with strings
- [Intrinsics](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/intrinsics.md): Intrinsics are low-level operations that are natively supported in REDscript.
- [Loops](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/loops.md)
- [Modules](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/modules.md): Introduction to modules.
- [Conditional compilation](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/modules/conditional-compilation.md)
- [Structure Names](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/structure-names.md)
- [Scriptables](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/scriptables.md): How to run your code along with the game.
- [ScriptableSystem](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/scriptables/scriptablesystem.md)
- [ScriptableService](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/scriptables/scriptableservice.md)
- [Persistence](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/persistence.md)
- [Configurable user hints](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/configurable-user-hints.md)
- [Modifiers](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/modifiers.md)
- [Utility functions](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/utility-functions.md): Built-in functions available in the game runtime.
- [Math](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/utility-functions/math.md)
- [String Functions](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/utility-functions/string-functions.md)
- [Random](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/utility-functions/random.md)
- [Utilities](https://wiki.redmodding.org/scripting-cyberpunk/redscript/language-reference/utility-functions/utilities.md)
- [Common Patterns](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns.md)
- [Logging](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/logging.md): This guide describes how you can write logs while debugging your scripts. It can be helpful too to get feedback from players when they find bugs.
- [Handling Player Life-Cycle Events](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/handling-player-life-cycle-events.md): How to register callbacks for when the player object is attached and detached
- [Safe downcasting](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/safe-downcasting.md)
- [Class constructors](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/class-constructors.md)
- [Hash maps](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/hash-maps.md)
- [Heterogeneous array literals](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/heterogeneous-array-literals.md)
- [DelaySystem and DelayCallback](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/delaysystem-and-delaycallback.md)
- [Generic callbacks](https://wiki.redmodding.org/scripting-cyberpunk/redscript/common-patterns/generic-callbacks.md): This guide will show you how you can declare a generic callback thanks to Codeware's reflection.
- [Help](https://wiki.redmodding.org/scripting-cyberpunk/redscript/help.md)
- [Troubleshooting](https://wiki.redmodding.org/scripting-cyberpunk/redscript/help/troubleshooting.md)
