Modding: Difference between revisions
No edit summary |
No edit summary |
||
(24 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 | The Onsets Scripting API is what other games call "modding". Since scripting is the main feature of Onset, Onset can be seen as modding "by default". | ||
This guide is just for how to import additional 3D models to Onset. | This guide is just for how to import additional 3D models and maps to Onset. | ||
= Workflow = | = Workflow = | ||
Onset uses the Unreal Engine and therefore uses it's modding pipeline to load additional content | 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. | 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]] | ||
Line 16: | Line 17: | ||
* [[GetAllFilesInPak]] | * [[GetAllFilesInPak]] | ||
* [[ReplaceObjectModelMesh]] | * [[ReplaceObjectModelMesh]] | ||
* [[ReplaceAnimationLibrarySequence]] | |||
= Onset Engine Version = | = Other Modding Features = | ||
* [[Custom_Maps|Importing custom maps/levels]] | |||
* [[ImportPlayerMesh|Importing player character meshes and clothing items]] | |||
= Onset Engine Version & Modding SDK = | |||
{| class="wikitable" style="text-align: left;" | {| class="wikitable" style="text-align: left;" | ||
!colspan="6"|Versions | !colspan="6"|Versions | ||
Line 23: | Line 29: | ||
|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.X | ||
|https://dev.playonset.com/OnsetModding_423_v1.0.zip | |||
|- | |||
|1.2.1 (LATEST, Take this) | |||
|UE 4.25.X | |||
|https://dev.playonset.com/OnsetModding_425_v1.1.zip | |||
|} | |} | ||
Line 34: | Line 46: | ||
https://docs.unrealengine.com/en-US/GettingStarted/Installation/index.html | 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. | |||
[[File: | [[File:StartOnsetModding.png]] | ||
Go to Edit -> Plugins | Go to Edit -> Plugins | ||
Line 62: | Line 66: | ||
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 81: | Line 86: | ||
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). | ||
[[ | If you are familiar with Unreal then you can skip this:<br> | ||
* [[Import3DModel|Adding an example 3d model with textures and materials.]] | |||
* [[Custom_Maps|Creating a custom map.]] | |||
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. | |||
[[ | |||
[[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]] | |||
= Loading the pak file = | |||
Put your new .pak file in a package of your Onset Server. Open the corresponding package.json and enter the name of the pak file under "files". | |||
Example: | |||
<pre> | |||
{ | |||
"author": "Blue Mountains", | |||
"version": "1.0", | |||
"server_scripts": [ | |||
"server.lua" | |||
], | |||
"client_scripts": [ | |||
"map.lua" | |||
], | |||
"files": [ | |||
"MyFirstMod.pak" | |||
] | |||
} | |||
</pre> | |||
Now you can use [[LoadPak]] in a client script to load your pak file. | |||
'''The following step is no longer needed since 1.4.0'''. | |||
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.25\Engine\Binaries\Win64'' | |||
[[File:UnrealPakList.PNG]] | |||
[[ | Loading with [[LoadPak]]. | ||
<syntaxhighlight lang="Lua"> | |||
LoadPak("MyFirstMod", "/MyFirstMod/", "../../../OnsetModding/Plugins/MyFirstMod/Content/") | |||
</syntaxhighlight> |
Latest revision as of 14:04, 30 April 2021
The Onsets Scripting API is what other games call "modding". Since scripting is the main feature of Onset, Onset can be seen as modding "by default".
This guide is just for how to import additional 3D models and maps 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
- UnrealLua
- DoesPakExist
- LoadPak
- GetAllFilesInPak
- ReplaceObjectModelMesh
- ReplaceAnimationLibrarySequence
Other Modding Features
Onset Engine Version & Modding SDK
Versions | |||||
---|---|---|---|---|---|
Onset Version | Engine Version | SDK Download | |||
1.0.0 - 1.2.0 | UE 4.23.X | https://dev.playonset.com/OnsetModding_423_v1.0.zip | |||
1.2.1 (LATEST, Take this) | UE 4.25.X | 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:
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.
- 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
The packaging process can take a moment. When it's done you will find the .pak file in your specified folder.
Loading the pak file
Put your new .pak file in a package of your Onset Server. Open the corresponding package.json and enter the name of the pak file under "files". Example:
{ "author": "Blue Mountains", "version": "1.0", "server_scripts": [ "server.lua" ], "client_scripts": [ "map.lua" ], "files": [ "MyFirstMod.pak" ] }
Now you can use LoadPak in a client script to load your pak file.
The following step is no longer needed since 1.4.0.
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.25\Engine\Binaries\Win64
Loading with LoadPak.
LoadPak("MyFirstMod", "/MyFirstMod/", "../../../OnsetModding/Plugins/MyFirstMod/Content/")