Modding: Difference between revisions

From Onset Developer Wiki
No edit summary
No edit summary
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Onsets Scripting API is what other games call "modding". Since scripting is the main feature of Onsets, Onset can be seen as modding "by default".
This guide is just for how to import additional 3D models to Onset.


= Workflow =
= Workflow =
Onset uses the Unreal Engine and therefore uses it's modding pipeline to load additional content.
You can import any 3D models from any 3D program into Unreal (FBX, OBJ).
Unreal will create a .pak file out of your assets that can then be loaded in Onset.
[[File:OnsetModdingWorkflow.png]]
[[File:OnsetModdingWorkflow.png]]


= Lua Modding Functions =
= Lua Modding Functions =
* [[UnrealLua]]
* [[DoesPakExist]]
* [[DoesPakExist]]
* [[LoadPak]]
* [[LoadPak]]
Line 9: Line 18:
* [[ReplaceObjectModelMesh]]
* [[ReplaceObjectModelMesh]]


= Onset Engine Version =
= Onset Engine Version & Modding SDK =
{| class="wikitable" style="text-align: left;"
{| class="wikitable" style="text-align: left;"
!colspan="6"|Versions
!colspan="6"|Versions
Line 15: Line 24:
|Onset Version
|Onset Version
|Engine Version
|Engine Version
|SDK Download
|-
|-
|1.0.0
|1.0.0 - 1.2.0
|UE 4.23
|UE 4.23
|https://dev.playonset.com/OnsetModding_423_v1.0.zip
|-
|1.2.1
|UE 4.25
|https://dev.playonset.com/OnsetModding_425_v1.1.zip
|}
|}


= Create the Unreal Mod Project =
= Install Unreal Engine =


After installing the Unreal Engine, launch it.
You first need to install the Unreal Engine. See the above table for what version is required.


[[File:Mod_EngineStart.JPG]]
https://docs.unrealengine.com/en-US/GettingStarted/Installation/index.html


Name your project and then click '''Create Project'''. This is not the name of the mod.
= Setup project =


[[File:Mod_CreateProject.png]]
After installing the Unreal Engine, download the SDK for the correct engine version from above.


First thing to do is to save the initial map. Unreal Engine requires this later on for the packaging process.
Extract the ''OnsetModding'' folder to your ''Unreal Projects'' folder. It's usually located in your Documents folder.
Hit the "Save Current" button.


[[File:Mod_SaveMap.png]]
Double click on the ''OnsetModding.uproject''. It will open the Unreal Engine.
At the first launch Unreal compiles shaders which takes some time. The CPU usage will be 100% and the loading screen will be stuck at 45% for some time.


Make sure it looks like this and then click "Save".
[[File:StartOnsetModding.png]]
 
[[File:Mod_SaveMap2.png]]


Go to Edit -> Plugins
Go to Edit -> Plugins
Line 48: Line 61:


Select "Content Only". Enter a mod name. Make sure "Show Content Directory" is ticked. Then click "Create Plugin".
Select "Content Only". Enter a mod name. Make sure "Show Content Directory" is ticked. Then click "Create Plugin".
The name of the mod is really important as we need that later one. So remember that.


[[File:Mod_PluginsCreate.png]]
[[File:Mod_PluginsCreate.png]]
Line 67: Line 81:
All files that you import will need to be placed inside your mod content folder (MyFirstMod).
All files that you import will need to be placed inside your mod content folder (MyFirstMod).


[[File:Mod_ContentBrowserFolder.png]]
If you are familiar with Unreal then you can skip this:<br>
 
 
If you are familiar with Unreal then you can skip this:
[[Import3DModel]]
[[Import3DModel]]
You can also watch any Unreal tutorial on YouTube on how to add and setup your models in Unreal.
You can also watch any Unreal tutorial on YouTube on how to add and setup your models in Unreal.


= Package your content =
= Package your content =
We now continue to package all of your assets into a single .pak file.
Go to "Window" -> "Project Launcher":


[[File:Mod_OpenProjectLauncher.png]]
Open the Onset Pak Creator window.
 
[[File:OpenOnsetPakCreator.png]]
 
# Select your mod from the left side.
# Click 'Browse' to select a location where the .pak file will be placed. For example D:\OnsetModPackage
# Click Create .pak
 
[[File:PakCreatorWindow.PNG]]
 
The packaging process can take a moment. When it's done you will find the .pak file in your specified folder.
 
[[File:PakCreatorDone.PNG]]
 
[[File:PakFileDoneInFolder.PNG]]
 
= Load the pak file in a client Lua script =
 
To view the contents of your .pak file you can use the UnrealPak tool. It is located under ''C:\Program Files\Epic Games\UE_4.23\Engine\Binaries\Win64''
 
[[File:UnrealPakList.PNG]]
 
Loading with [[LoadPak]].
<syntaxhighlight lang="Lua">
LoadPak("MyFirstMod", "/MyFirstMod/", "../../../OnsetModding/Plugins/MyFirstMod/Content/")
</syntaxhighlight>

Revision as of 14:09, 7 July 2020

The Onsets Scripting API is what other games call "modding". Since scripting is the main feature of Onsets, Onset can be seen as modding "by default".

This guide is just for how to import additional 3D models to Onset.

Workflow

Onset uses the Unreal Engine and therefore uses it's modding pipeline to load additional content.

You can import any 3D models from any 3D program into Unreal (FBX, OBJ). Unreal will create a .pak file out of your assets that can then be loaded in Onset.

Lua Modding Functions

Onset Engine Version & Modding SDK

Versions
Onset Version Engine Version SDK Download
1.0.0 - 1.2.0 UE 4.23 https://dev.playonset.com/OnsetModding_423_v1.0.zip
1.2.1 UE 4.25 https://dev.playonset.com/OnsetModding_425_v1.1.zip

Install Unreal Engine

You first need to install the Unreal Engine. See the above table for what version is required.

https://docs.unrealengine.com/en-US/GettingStarted/Installation/index.html

Setup project

After installing the Unreal Engine, download the SDK for the correct engine version from above.

Extract the OnsetModding folder to your Unreal Projects folder. It's usually located in your Documents folder.

Double click on the OnsetModding.uproject. It will open the Unreal Engine. At the first launch Unreal compiles shaders which takes some time. The CPU usage will be 100% and the loading screen will be stuck at 45% for some time.

Go to Edit -> Plugins

Select "New Plugin"

Select "Content Only". Enter a mod name. Make sure "Show Content Directory" is ticked. Then click "Create Plugin". The name of the mod is really important as we need that later one. So remember that.

You will see this message.

Introduce Content

Open the Content Browser.

Click this icon to get a folder overview.

All files that you import will need to be placed inside your mod content folder (MyFirstMod).

If you are familiar with Unreal then you can skip this:
Import3DModel You can also watch any Unreal tutorial on YouTube on how to add and setup your models in Unreal.

Package your content

Open the Onset Pak Creator window.

  1. Select your mod from the left side.
  2. Click 'Browse' to select a location where the .pak file will be placed. For example D:\OnsetModPackage
  3. Click Create .pak

The packaging process can take a moment. When it's done you will find the .pak file in your specified folder.

Load the pak file in a client Lua script

To view the contents of your .pak file you can use the UnrealPak tool. It is located under C:\Program Files\Epic Games\UE_4.23\Engine\Binaries\Win64

Loading with LoadPak.

LoadPak("MyFirstMod", "/MyFirstMod/", "../../../OnsetModding/Plugins/MyFirstMod/Content/")