Within REFramework, Script Runner and Plugins represent two separate extension layers. Both allow additional functionality, but they operate at different levels of the engine and serve different purposes.
Understanding this distinction is important for stability, performance management, and troubleshooting after game updates.
Script Runner
Script Runner is responsible for executing Lua-based scripts. This is the most commonly used system for gameplay modifications and overlays.
File location:
reframework/autorun
File type:
.lua
How it works:
Scripts are written in Lua and executed through REFramework’s scripting interface. The framework reads and interprets these scripts during runtime and applies their logic continuously while the game is running.
Key characteristics:
Hot reload support
Scripts can be edited while the game is active. Changes can be applied instantly by resetting scripts from the menu without restarting the game
High compatibility
Scripts rely on the REFramework API, which helps maintain compatibility across minor game updates
Performance impact
Since scripts are interpreted in real time, running multiple complex scripts can increase CPU usage and reduce frame rate
Typical use cases:
User interface overlays, gameplay adjustments, automation systems, and visual tweaks
Plugins
Plugins operate at a lower level and provide deeper access to the game engine and system resources.
File location:
reframework/plugins
File type:
.dll
How it works:
Plugins are compiled modules written in native code. They are loaded into the game process during startup and interact directly with memory and engine systems.
Key characteristics:
Static loading
Plugins cannot be reloaded during runtime. Any change requires restarting the game
High performance
Since they are compiled, plugins run with minimal overhead compared to scripts
Lower stability across updates
Plugins often depend on specific memory structures. Game updates can change these structures, causing plugins to stop working or crash the game
Typical use cases:
Virtual reality integration, rendering modifications, advanced performance tools, and engine-level adjustments
Key Differences
Script Runner
Location: reframework/autorun
Format: .lua
Reloading: Supported during runtime
Complexity: Easier to create and modify
Stability: Generally stable across updates
Access level: Limited to framework API
Plugins
Location: reframework/plugins
Format: .dll
Reloading: Requires restart
Complexity: Requires native programming
Stability: Sensitive to game updates
Access level: Direct interaction with game memory
Recommended Usage
Script Runner is suitable for most modifications, especially those involving gameplay logic, user interface changes, or features that benefit from quick adjustments.
Plugins are intended for advanced functionality that requires deeper integration with the engine, such as rendering changes, VR systems, or low-level performance enhancements.
Troubleshooting Guidance
If the game crashes after an update, isolate the issue by testing each layer separately.
First, remove all files from the plugins folder and launch the game.
If the game runs correctly, the issue is likely caused by a plugin.
If the problem persists, remove scripts from the autorun folder and test again.
This method helps identify whether the issue originates from compiled modules or runtime scripts.
Official Download: REFramework Download
Comprehensive Guide and Documentation: REFramework Documentation
GitHub page for REFramework