Project Structure

From Off Grid Wiki
Jump to navigation Jump to search

Your Project Location

By this point you should have LevelKit installed, and be ready to start building your own scene in unity.

MAKE SURE you have moved the Levelkit files out of the Steam Streaming Assets location to somewhere in your preferred Drive. - if you skip this step and work inside the streaming assets folder, a Steam Update could overwrite all of your lovely changes and you will lose your work - sad face.

Your project will look something like this:

Project Structure
Project Structure

A note for Git sharing

When you initially clone a Git project, you will need to set the location of the the repo. So make sure you have moved the Levelkit first. Then create a folder for your repo under Assets/Levels/YourModName:

Example using Mcflys CCCamp Mod
Example using Mcflys CCCamp Mod

Structuring Your Project

When your project is first created, some of these folders will automatically populate, others you can add, as and when you need them. Here is an example of a project structured correctly.

File Structure
File Structure

Inside of Content is all of the stuff your mission scripts need to work.

Agents - All of your lua scripts for controlling NPCs see: Agent Definitions

Apps - Any of your unique Apps you build go here see: Creating Apps

Characters - Any character profiles you write: Character Profiles

Conversations - Any conversations you create for your missions: Conversations

Data - Any data files you create for your missions: Data Scripting

Devices - Any unique Device scripts you create for your missions: Device Scripting

Graphics - Any images you want to add to Modals: UI - Popups and Notifications

Items - Any images you want to add to player Inventory: Adding Icons

Your Art Files

Keep your FBX, PNG, Prefabs and Materials in a different folder, and keep them well organised - you will regret it if you don't! In the example above our Artist has organised the project into Materials (for your Materials), Models, Prefabs, Settings, Skyboxes, Textures. Imported FBXs will create Materials by default - this is not ideal.

You can prevent this from happening by creating a unity import Preset.