Volcanoids

Volcanoids

56 ratings
Basic Modding Guide
By Captain
Welcome to the Volcanoids Modding Guide! These steps will teach you how to make your own basic mod using the official Volcanoids Modding SDK, and how to publish it to the Volcanoids Steam Workshop. Let’s get started!
5
3
2
2
   
Award
Favorite
Favorited
Unfavorite
1. Setting up Unity
First of all, you have to download the correct version of Unity. Go to: https://unity3d.com/get-unity/download/archive and download Unity version: !!! Unity 2022.3.20f1 !!! We strongly recommend installing it with Unity Hub. The Unity version the SDK uses can change without notice from any update and the Hub makes dealing with this easy


1.1. Installation with Unity Hub:
  1. Click on the green Unity Hub button on the Unity Archives website and open the version in Unity Hub.
  2. If you have Visual Studio installed, leave it unchecked, otherwise install it.
    • If you already have VS installed, be sure to go into the Visual Studio Installer and make sure the “Visual Studio Tools for Unity” component is installed. (Under “Individual Components”.)
  3. Tick Windows Build Support(mono) (It might not be present on your device)
  4. Tick Linux Build Support(mono)
  5. Click Install and Wait for the installation to complete.

Note: Sometimes Unity can struggle with downloading. If there’s a problem with downloading, try restarting unity or your computer.


1.2. Installation with Unity Installer
  1. Run UnityDownloadAssistant
  2. Click next and accept the license
  3. Tick Unity
  4. Tick Windows Build Support(mono) (It might not be present on your device)
  5. Tick Linux Build Support(mono)
  6. Click next and specify install folders
  7. Click next and let Unity install

Note: Unity may ask you to install some dependencies during the download like Visual Studio. If you have them installed, you can skip that, otherwise install them. (See 2a just above.)

Everything should be done now.

2. Getting the SDK
In this step we will set up the SDK. You have to have the correct version of Unity installed to make it work properly.

Installation:
  1. Log in to your Steam account that you own Volcanoids on.
  2. Go to your Library and click on GAMES tab in the top left corner, and check TOOLS
  3. Find Volcanoids SDK and click Install. Don’t forget to remember the Install Location.
    The default is:
    Steam/steamapps/common/VolcanoidsModSDK

Launching:
  1. Open Unity Hub, in the top right hand corner click on the Add button
  2. Navigate to the Volcanoids Mod SDK folder location and select the folder.
  3. Select your Unity version and run the project
  4. Wait for Unity to reimport and you should be running the Volcanoids Mod SDK

You can find more info on the Welcome Screen that will pop up.
3. SDK Structure
Before beginning with mod creation, we will take a look at how the project is organized.


3.1. Project Structure
The Mod SDK Structure project is organized into two important folders:

  1. Asset folder - the folder where all your mods and sample mods will be contained.

  2. Packages - here lays all the references from Volcanoids itself, that you can explore, copy and use for your mods as you wish. You will also reference them when replacing character skin, weapons sounds, etc…


3.2. Mod Folders Structure
In the mod there’s a structure that you have to maintain. You can try to organize things differently, but it may not work. For the best, and tested, results follow this guide's structure.

Mod structure:





  1. All your mods have to be within the Assets folder. There, each mod will have its own folder. (Sample mods do not count)
  2. All your Texts, Materials, Icons, Meshes and .asset files have to be within the Data folder.
  3. All scripts have to be in the Mod folder, but it’s better to avoid the Data folder.

Your [Mod] Root folder must contain the following files:
  1. Data folder
  2. [Mod].asset file - file that connects all your data and scripts together.
  3. When you are using scripts, you have to add an Assembly Definition file.


3.3. How to use the "Work" scene in the SDK











- The "Work" scene can be found directly in the source folder "Assets"

OR

- in the "Mod" tab in the "Modding scenes" section, if you break a scene, you can return it to the default settings with the "Reset" button.














3.4. How to use the "Work" scene in the SDK
- First, make sure you have the drillship toolbar turned on. It is part of the toolbar with the "AC" (Automatic Claim ") button






If you do not see the bar with the "AC" button, please turn it on in the image item "Player drillship toolbar"

- Please turn it on in "Toolbar config"

















3.5. How the "AC" button works
- the "AC" button must be turned on before starting the "Work" scene in Unity - Play mode. Then you appear as a player in the scene and the test drillships are yours and you can test modes and other things.


Quick access to items

- if you have made an item or need another one quickly, you can use its name "Item definition" to search for it and add it to the box.











- This will make your work easier and faster.

A similar feature is also on the drillship in the gameobject "FrontSegment" you can put items directly into the ship's inventory.










- This step will greatly speed up your work.
4a. Creating your first mod
In this section we will create your first mod.


4.1. Mods window
In the mods window you will manage all your mods. If you open the SDK for the first time, the Mods window will already be opened. If the window is not present, navigate to top menu and select:
Window -> Mods.













  1. Mods - You have currently created no mods, they will appear here as you create them.
  2. Create new mod - Button to create a new mod.
  3. Build mods - Button that will build all mods that you have created, and are currently in the project.
  4. Open workshop - This will open the Volcanoids Workshop.
  5. Import - Will import the sample mod of your selection. You can re-use them, or recreate them as you wish.

To create your first mod:

  1. Click: Create new mod . It will bring you to the inspector and create a new mod for you.
  2. Name the folder as you wish and it will highlight the inspector.

Yay! Your first mod is created!


4.2. Creating Ammo for a Revolver Mod
For demonstrational purposes, we will create a new ammo type for the revolver. Follow these steps:

Let’s create a new Ammo Type:
  1. Go to: Packages/VolcanoidsAssets/Game/Items/Ammo. (Project window - "Packages" folder)
  2. Drag and drop the RevolverAmmo.asset file to your mod Data folder. (or any other ammo definition)

  3. optional - create a new definition by clicking Assets → Create → Game → Weapons → AmmoDefinition)
  4. Change the name of the file to (WeaponName)Ammo.
  5. Click on the file and set the Name to (Weapon Name) Ammo., expand it and click the A button next to it.
  6. Expand the description and write any description you want, and click the A button next to it.
  7. The Item Category should be: CategoryAmmo.





















  8. Drag and drop your ammo Icon file into the Mod/Data folder.
    If you do not have your icon, look for the "RevolverAmmo" revolver ammunition icon in the project. Find in Project window or path Prefabs / Weapons / Revolver / TexturesRevolver.






















  9. Change the item icon in the Icon field by either selecting the circle, or drag and drop the icon from the Data folder.Note: Your icon has to be TextureType: Sprite (Set it on icon and Apply)
  10. Expand Ammo Stats and set it up as you wish
  11. The Projectile Prefab should not be null and should be ProjectileRevolver!
  12. When you are done it should look like this:




























    -


    Now let’s create a recipe for your ammo:
    1. Go to your mods Data folder
    2. Go to- Create → Game → Recipe
    3. Name your file RevolverSuperAmmoRecipe and open it.
    4. Expand the inputs field and click the plus. These are items and their amounts that you need to craft your ammo. Select any materials and amounts you wish.
    5. Expand the Output window and set Item tobe your new ammo, and set the amount to whatever you wish it to output
    6. Expand the Categories window and add as many categories as you want. It defines where this item is craftable.
    7. You can also change the production time, this defines how fast your ammo will be crafted in game.
    8. When you are done it should look like this:























    - And finally lets set up the mod asset



    4.3. Mod Asset

















    1. Workshop Item ID - This is your mod’s ID on Steam
    2. Unique Mod ID - This is your mod ID in the format: CreatorName.ModName (Has to be unique)
    3. Title - Name of the mod, that will be displayed in the workshop, game and in all lists. You can use spaces
    4. Thumbnail - The Icon of your mod that will be uploaded on the Steam Workshop
    5. Load Group - When your mod will be loaded. (Optional)
    6. Load order - The order that mods will be loaded. (Optional)
    7. Version - This is the version number set by you, it is displayed on Steam
    8. Change Note - What has been changed since the last upload. It will be displayed on Steam.
    9. Skip Content Patches - Whether to skip the automatic application of *.patch files after your mod is loaded.
    10. Debug Build - Whether the Mod is debuggable in Visual Studio.
    11. Assembly Definitions - Here you add All Assembly definitions that are inside the Mod folder. You can use multiple definitions for each mod.
    12. Assemblies - If you are using 3rd party assemblies or dlls, add them here.
    13. Other Files - You can attach text files and so on here.
    14. Bundles - All the bundles that your mod uses. They are children of the Mod.asset file.

    We will cover the rest in the Building and Uploading Your Mod section.


    4.3.1 Multiplayer Mode
    Multiplayer Mode is a very important setup because it will affect the overall behaviour of the mod.




    1. Client Server - Your mod will run on both client and server
    2. Server - Your mod will run on a server only and won’t affect other clients
    3. Client Only - Won’t affect the server, and will only run on client
    4. Single Player - Your mod will work only in single player

    4.3.2 Tags
    Tags are used to distinguish the category of modes into different sections. This will allow users to better understand what the mod offers or what changes it makes to the game.

    In reality, tags do not affect the gameplay or behaviour of assets in the game. It is only used for the categorization of game mods.

    Tags are set when filling in the "Mod Definition" asset and it is also the only place where they can be set before the mod is built.


















    Explanation of the terms
    Everything - contains all the tags
    Decal - additional stickers for drillship (Painting job)
    Device - drillship devices
    Drillship - things and equipment that belong to the interior and exterior of the ship
    Enemy - player enemies (Cogs, animals, robots, people)
    Environment - what changes the environment or adds to the aesthetics
    Module - weapon towers, aesthetic towers, production, research, scrap)
    Other - Tag for mods that don't fit any other category
    Player - changes or improvements that affect the player
    Skin - clothing, equipment, armour, skills
    Tool - tools, axes, equipment
    Turret - protection towers
    UI - UI improvements, changes and more.
    Weapon - handguns, turrets, traps
    Building - building additions, changes and improvement.
    Design - aesthetic improvements or upgrades of objects
    Starter - changes to the first Drillship that the player receives after completing the captain's quests.
    Visual - Only a visual element without functionality.










    Publishing:
    After building the mod and uploading it to Steam, you will see your selected tags on the mods webpage on Steam.
4b. Scripting
4.4.Assembly Definitions and handling scripts
You will use Assembly Definitions in case you want to add new scripts.

4.4.1. Creating Assembly Definition
When you add your first script you might also have to create an assembly definition. To check go to Mod.asset. There you will find a button to create it.

You can also create an Assembly definition manually:
  1. Go to your [Mod] folder and right click on an empty space
  2. Name your file. It’s good to format the name like this: CreatorName.ModName, since it will be used for scripting.

4.4.2. Setting up Assembly Definition
This will allow you to create scripts next to this definition or in any subfolder. We recommend saving the Assembly files in the [Mod] root folder.
















  1. Name - This is the name of the assembly, it’s better to match it with the file name.
  2. Assembly Definition References List - Add all assemblies that you will use within your mod assembly. List of most used Assembly Definitions:
    • Volcanoids - All game scripts
    • Rock.Base - Framework import
    • Rock.Unity - Framework import
    • Unity.Multiplayer.HLAPI.Runtime - good for networking mods.
  3. Platforms - You can specify the target platform for the assembly. (For the game export using Any Platform)

Everything else about Assembly Definitions can be found in the Official Unity Documentation.


4.5 Scripting Ammo
To make the Ammo mod work we need to create a script that will connect the Ammo file with the Revolver Reloader, so the revolver can load in your newly created ammo.

  1. Create your first script by right click/Create/C# Script and name it RevolverAmmoMod. (In this example it has to be named exactly that for the script to work.)
  2. Wait for Unity to finish the compilation and double click the file. It will open up Visual Studio. (If not, navigate the top left menu in Unity -> Edit/Preferences/ExternalTools and select External Script Editor as Visual Studio. If you don’t have it, then you have to install it or use other IDE)
  3. Then copy and paste the following code into script:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; //Sample Ammo Mod //Works with these Assemblies in you mor AssemblyDefinition: Volcanoids, Rock.Base //This will create asset, that you can add by right click in your data folder and then Create/Mods/RevolverAmmoAsset [CreateAssetMenu(menuName = "Mods/RevolverAmmoAsset")] public class RevolverAmmoMod : ModCallbackAsset { //This will update existing weapon reloader of your revolver, reference it from Volcanoids game public WeaponReloaderAmmoDefinition weaponReloader; //This will be your new ammo type public AmmoDefinition ammo; //This will backup previous ammo, so after you enter another game, it won't broke AmmoDefinition[] backup; //This happens on init mod public override void Init() { //We backup ammunition backup = weaponReloader.Ammunition; //We register event for reverting changes the mod will make ContentPatch.Push(OnRevert); //Gets ammunition to list List<AmmoDefinition> list = weaponReloader.Ammunition.ToList(); //Adds new ammo list.Add(ammo); //Replaces weapon ammunition with old ones with added new one. weaponReloader.Ammunition = list.ToArray(); } //Function created by you to revert all changes after you stop the game private void OnRevert() { //Sets ammunition back to backuped one weaponReloader.Ammunition = backup; } }

  1. Save the script in the VS (Visual Studio).
  2. Navigate to your Data folder and right click follow: Create/Mods/RevolverAmmoAsset.
  3. Into RevolverAmmoAsset add Weapon Reloader reference RevolverReloader from Volcanoids game files. (click on the circle with the dot in the middle at the Weapon Reloader in the Inspector)
  4. Into RevolverAmmoAsset add Ammo reference to Your Ammo Definition from your mod (click on the circle with the dot in the middle at the Ammo in the Inspector)"

You are done with Custom Ammo Mod.


4.6 Bundles
In Volcanoids, there are 3 types of bundles.

You can create bundles by right clicking on the name of your [Mod].asset. In this case we will create a Data Bundle.


















Right click context menu







Hierarchy of MyNewMod.asset


  1. Data Bundle - All data from the data folder or other folders like materials, models, textures, .asset files etc...
  2. Menu Bundle - Contains assets required for modding the main menu, it cannot contain recipes, module prefabs etc…
  3. Scenes Bundle - Contains only scenes, for example when loading scenes additively, or loading scene as main scene.


4.7. Set up everything correctly
To build and upload your mod correctly you have to follow these steps:

  1. Create a mod
  2. Go to [Mod].asset and change the Unique Mod ID to: CreatorName.ModName
  3. Set a Title
  4. Set a thumbnail (The Icon has to be type Texture2D or Sprite and has to be within the mod folder, also better in .png format.)
  5. There has to be default Data bundle set up

5. Building your first mod
So if you have everything setup correctly, you can hit the Build button in the mod file. Dont forget to save beforehand!




















Mod building section


Wait for it to complete and take a look in the Console for the errors. If there are none, your mod is successfully built.

Image Description:
  1. Build - Builds the mod
  2. Refresh - Refreshes build data
  3. Open folder - Opens folder with your mod built.

Note: Build time depends on how strong your machine is, as well as how many objects and scripts you have inside. It may take a while, no need to panic. An Empty mod takes about 2 minutes on an average machine.












A successfully built mod should look like this.

Also Inside the building info there should be the contents of your mod and manifest.json

6. Uploading your first mod to the Steam Workshop
Now that you have successfully built your mod, we can move to uploading it to Steam. To make publishing to Steam Workshop work properly, you have to have spent more than $5 on Steam, and you have to have Steam Guard enabled in your Account settings.





















Steam Workshop uploading section

  1. Upload - Hit to upload your built mod to the Steam Workshop.
  2. Open in Steam - Opens Steam to your mod page.
  3. Open Webpage - Opens a web browser to your mod page.
  4. Steam Status - Shows Steam’s status. When Ready, Steam is initialized correctly.
  5. Mod owner - Displays who uploaded the mod.
    • Never uploaded - mod has never been on steam workshop.
    • You - you are the owner
    • Unknown - owner is someone else
  6. Upload Status - When uploading it will show status. Firstly preparing and then uploading.

Tada! Your mod is now on Steam!
7. Steam Workshop Mod Settings
In this section we will take a closer look at settings for your mod as it is necessary for uploading to the Steam Workshop. Click on the Open in Steam , or Open webpage button in the Unity Inspector with your mod selected to open the Workshop.

























  1. Subscribe - Everyone who would like to download your mod and play it, will have to subscribe to the mod.
  2. Edit title & description - Edits the title of the mod and it’s description. Here you can say something about your mod.
  3. Add/edit images & videos - You can add images and videos to your mod to describe it more.
  4. Add/remove Contributors - More players can contribute to the same mod.
  5. Edit Links/Add Links - You can manage your mods social media links
  6. Allow comments - Will enable the comment section for all users.
  7. Delete - Here you can remove your mod
  8. Visibility - A Mod can be:
    • Public - Available to anyone within the workshop
    • Friends-only - Only you and your friends can subscribe and view the mod
    • Hidden - Visible only to you
    • Unlisted - Only people with the link can edit
  9. Public comments - Anyone can comment your mod
  10. Private dev comments - Developers can comment your mod

For More Information, Check out Steam’s Documentation.
8. Testing the mod
So we have built our mod, now let’s test it.

8.1. Testing a mod in SDK
To test your mod without leaving the SDK, you just have to make it active in 'Mods' tab.





8.2. Testing a local mod
Testing locally without uploading to the workshop is simple. Just follow these steps:

  1. Build your mod (Section: 5. Building your first mod)
  2. Run the Volcanoids game
  3. Click on the Mods Button (1.)











  4. Enable your mod by ticking the checkbox to the left of the mod name (1)
  5. Click Apply configuration in the bottom right corner (2)












After you click Apply Configuration, your game will be force restarted. Then all your selected mods are applied and you can run the game normally.


8.3. Testing through the workshop
Testing with steam is as simple as testing without it. You just need to follow almost the same steps:
  1. Build your mod (Section: 5. Building your first mod)
  2. Upload your mod to Steam
    (Section: 6. Uploading your first mod to the STEAM Workshop)
  3. Run the Volcanoids game
  4. Click on the Mods Button
  5. In the mods folder click the checkbox next to your mod
  6. Click Apply configuration.
(Images are in Section: 8.1. Testing a_local_mod)
9. Updating the mod
Updating your mod is easy. It’s the same process as building and uploading mods. Just a few steps:
  1. Change whatever you want in your mod
  2. Don’t forget to change the version and change note in the Mod Asset.
  3. Build your mod (Section: 5. Building your first mod)
  4. Upload your mod to Steam
    (Section: 6. Uploading your first mod to the STEAM Workshop)
You are done and the mod is updated.
10. Republishing the mod
If you have accidentally or intentionally deleted your mod, don’t worry, you can reupload it. Follow these steps:
  1. Right click on the mod name
  2. Click the Reset workshop id button
  3. Build your mod (Section: 5. Building your first mod)
  4. Upload your mod to Steam
    (Section: 6. Uploading your first mod to the STEAM Workshop)


















Reset workshop id button
11. What's next?
Now that you know all the basics, you can move onto more complex mods!
See the links below that will guide you to other published Guides, each specializing on different mod type.

For starters you can check the Decal package modding guide.

Steam Guide - Decal Package Modding Guide Link

Next option can be creating new weapons! The great thing about this, is that you can create the weapon designs directly in Volcanoids Unit SDK. There is special scene, where you can easily experiment with ideas and assemble any kind of a weapon.

Steam Guide - Player Weapon Modding Guide Link

More advanced guides focus on Player characters and new COG enemies.

Steam Guide - Player Character Modding Guide Link
Steam Guide - COG enemy Guide Link

There are more guides in the making, so this section will get updated in near future. The same applies for the Volcanoids Mod SDK that will get more building scenes.

Will keep you informed!
Have a great time modding and if you have any questions feel free to ask!
Captain

34 Comments
Emprex Paradox 14 Jul, 2024 @ 11:34pm 
If you're getting the git error go download and install Git then try again.
Arling 6 Jul, 2024 @ 2:12am 
The Same error as Nickel.
FuryoftheStars 15 Apr, 2024 @ 7:20pm 
I'm getting the same error as Nickel below, both on a new, clean setup as well as on an existing install that I updated to the latest (and worked previously on the old versions). If I attempt to push past it, it says that there are compile errors.
Nickel Jackal 7 Apr, 2024 @ 8:13pm 
I got an error message when I was opening the SDK.

An error occurred while resolving packages:
Project has invalid dependencies:
com.unity.urp-water-system: No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hub

Click on Retry to relaunch Unity and reopen your project.

Click on Continue to launch Unity. Some or all packages may not be imported which may cause compilation errors.
Nickel Jackal 7 Apr, 2024 @ 7:39pm 
It seems the SDK can be run on Unity 2022.3.20f1 but not be run on Unity 2022.2.20f1.
Captain  [author] 26 Jun, 2023 @ 3:24am 
Now! SDK that can only be run on the Unity 2022.2.20f1 version, so download and hurry up modding.
FuryoftheStars 29 Apr, 2023 @ 9:29am 
Following this guide, installing 2022.2.6f1 and the SDK, opening the SDK from Unity Hub presents the following warning:

[start quote]
Missing Editor Version
To open your project, install Editor version 2022.2.12f1 or select a different version below.

Please note: using a different Editor version than the one your project was created with may introduce risks.
[end quote]

The guide should be updated, either in correcting the version number, or adding a note about this warning if 2022.2.6f1 is to be used anyway.

Also, in the version of Unity Hub that I have (3.4.2), the "Add" button mentioned in Section 2, Launching step 1, has been replaced with an "Open" button (you should also probably specifically mention this is under the "Projects" section of Unity Hub for those unfamiliar with the software).
Dermot_Artic_Warrior [CZ] 31 Mar, 2023 @ 1:31am 
Unity 2022.2.6f1 version is true :)
BloodrinSky 21 Mar, 2023 @ 7:18pm 
with the ground support update being released, has the SDK been updated to 2022.2.8f1
i tried opening the project and it mentioned version 2022.2.8f1
[Ohms] 15 Mar, 2023 @ 11:44am 
Hey @Captain, upon opening the SDK I get a notification, which states, that there are 49 Compilation errors and that it is recommended to enter safe mode. Do I have to do something about this / Is it safe to open?