> 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/language-reference/modifiers.md).

# Modifiers

Class members: `private`/`protected`/`public` are ignored at compile time. Flags are not present at runtime anyway. It is still a good practice to use them to be explicit about the intent of a class member for future you or others. Module members: `private`/`protected`/`public` will have an effect. `private class A` in module X cannot be imported from module Y. `persistent` as a prefix to a class variable (e.g. in [ScriptableSystem](https://nativedb.red4ext.com/ScriptableSystem)) will tell the engine to store the value in saves. Alternatively, you can use [ScriptableService](https://github.com/psiberx/cp2077-codeware/wiki#scriptable-services) of Codeware to store data outside of saves. `final` should be to prevent a method from being overloaded by child classes. `const` is to tell compiler class method will not change its own values, allow the compiler to optimize stuff, if it can.

{% hint style="info" %}
from Rayshader and psiberx from discord
{% endhint %}
