Modding

From Off Grid Wiki
Jump to navigation Jump to search

Players, modders, and hackers are able to use the game to create new and interesting levels with stories about surveillance, hacking and the Internet of Things or whatever else you are inspired to! Off Grid is heavily moddable, with an exposed Lua API allowing anyone to edit the game. Using their own free copy of the Unity games engine, anyone can build mods with the same tools that the development team use. With this level of control, players can build their own content: levels, hackable devices, apps, hacking tools, and stories - and share them with other players.

The core game logic and systems are written in C#, but we have created an exposed Lua API that all the gameplay is controlled by. Lua is flexible and easy to learn language that the players can use (with the help of this wiki) to create their own levels.

Modding Manual

There is a lot you can mod in Off-Grid, so it can be overwhelming to get started! With your help we will pack this wiki full of information and ideas to support and inspire your creations.

Please note: It is possible to make basic changes to the game without downloading all of the tools below. If you have a copy of Offgrid installed you can navigate to the project files edit them. See Basic Modding.

First Steps
Download LevelKit Levelkit installation
Unity Installing Unity and opening the Levelkit project
Other Prerequisites IDE setup and some good advice
LevelKit GUI Using the Levelkit tool

The steps to making a level are detailed here: Building your First Level - but it's probably redundant and eventually worth deleting if everything is covered in the following list (TBC):

Level Design and Mission Scripting
Mission Scripting The Mission Script is the core file that contains the framework for everything in your level script. This is where the magic happens.
Lua API All of the available Lua commands - Dig through these to get an idea of what you can do.
Mission Objects / Mission Object Set Up How to create Interactive objects, Triggers and more.
Triggers and Examples
Spawn Points and Patrol Points
Interest Points
Pre-made Hackable Devices For placing Hackable Objects in your levels
Device Scripting For scripting the hackable interactions
Layers and Tags
Colliders and Static Objects
Setting up Doors
Setting up Vents
Data Scripting
Conversations
Navmesh
Culling
Lighting and Baking
NPC Character Scripting
Character Types and Prefabs - Overview of Characters and how to build them
Character Profiles - Scripting Character Personalities and Data Profiles
Character Colours - LUTs and changing character colours
Agent Definitions - Scripting AI interactions for NPCs
AI Gestures - A list of AI gestures you can use to call animations
Message Templates - Text Messages that NPCs receive
Wandering NPC - Simplified AI used to populate a scene, but can't be interacted with
Drones and Navcloud |
Audio Options
Audio Options - probably an overview needs a lot of work
Triggering Sounds
SoundIDs Sound List
Art - 2D and 3D Pipeline
Asset Creation Pipeline Art Pipeline Steps for adding your own 3D Models and Textures
Modular Art Library
Adding Icons
Texture Presets (signs and pictures for example)
Modeling your own Hackable Devices
More Options
Creating Apps
Debugging Your Mods
Debug Lua API
Game Progress (and linking levels into longer experiences)
Player Path Tool - for planning out gameplay and communicating ideas in a team