SteamVR/Environments/Scripting
The SteamVR Workshop Tools include the VScript scripting system with an extensive API, allowing many modifications and extensions to the game, including access of the VR motion controllers. Scripting is done using the Lua language.
Many of the Dota 2 scripting features also apply to the SteamVR Workshop Tools. Some of the links below may have inconsistencies when scripting for SteamVR instead of Dota 2.
Getting Started
There are three main ways of running scripts in SteamVR Home. Game mode scripts are specific to the add-on, and are executed when a map in the add-on loads. Map scripts are executed when the specific map is loaded, and receive callbacks from the scripting system on certain events. Entity Scripts are set up on specific entities and execute when the entity is spawned.
Common Techniques
References
New: Examples
- Lua Scripting Intro
- Linking Lua with Hammer
- Linking Lua with Javascript
- Creating a Flashlight Tool
- Custom Tool Creation
New: Lua Resources
- Official Lua Website
- Programming in Lua - Good resource for learning Lua. If you're new to Lua or programming this is a good reference point to start from.
- Programming In Lua - Online - First edition of the above book is available online for free.