NavalArt ModTools Tutorial
NavalArt ModTools Tutorial
NavalArt ModTools Tutorial
Table of Contents
1.Tools needed
2.preperations
3.Installation
4.How to use the mod tool
5.How to Modding
6.Modding Rules
7.How to install mods manually
8.How to upload mods to Steam workshop
7.Upgrade guide
8.Q&A
Optional:
Blender 2.8 ( If you want to open example mods, then you need to install Blender for
importing models.)
Preperations
To begin with, I want to thank you for buying NavalArt, this game won’t come to today
without a nice, supportive community. For version 0.7, mod tool supports parts modding,
including hulls, engines, propellers, turrets, torpedo launchers, decorations, and radar, the
tool itself is still under development and more features will be implemented in the future.
To get started with modding, you will need a decent pc that could run Unity3d, which is the
game engine of NavalArt, and it's free for non-profit uses. You may want to download Unity
first on their website: https://store.unity.com/download , since we are only using Unity for
modding, just click the Accept term button simply.
Installation
The version we need to use is 2019.4.15f1 (The previous one we used for modding is
2019.3.1f1, but it has some bugs so I updated the engine), generally you need to download
and install Unity Hub first, which is the new platform of Unity. After installation, you need to
download the right version in the installation page of Unity Hub, make sure the version is
2019.4.15f1, or the mod you built might be incompatible with the game.
However, since Unity updates their engine frequently, you might can’t find the correct version
in Unity Hub, so please click the link inside the red rectangle, download and install the right
version on their website. The link is below, on the other hand you could install the engine
without installing Unity Hub through this link, however you will not be able to access Unity’s
asset store.
After installation, simply create a new project, choose 3D in modules, and open the project.
When Unity is full opened, you need to find the NavalArt mod tool, which is under the game’s
folder, you could open it manually or through Steam.
Double click on the mod tools , and then import it into Unity.
When import is done, you should see a new tab which is called NavalArt on the top-right of
the Editor
Click On it and click on the tab “Mod Builder”, then you will open the NA Mod Window, you
can adjust its size, or append the window to the layout for better looking.
Mod Name is the name will show in the game, assign your name in the Mod Author, fill in
version code and description freely.
The icon part below has been outdated, to create icon for your mod, just place a png file in
the mod folder after you saved the mod.
–You could see the default icon at the bottom of the window, in the Check Icon tab. To
change the icon to yours, you need to delete the default icon in the Project Window, it's
located in the Resources folder, to delete it, Right Click on it and then choose Delete. To
import your own icon you could see there is a Import New Asset tab, click on it and import
your image.
Notice: your icon must be a png file or it may won’t load correctly in the game
Meanwhile,After importing is done, select the icon and switch Texture Type on the
Inspector panel from Default to Sprite(2D and UI). It’s also important or the icon won’t load
in the game.
You should now see the photo under Check Icon has changed which means you could
export it correctly.
To create a mod, choose a tab in the Part Type dropdown, and then click create.
How To Modding
Basic concept/ Hull /Decoration
When you created a Hull/Decoration mod, you could see a new Gameobject appeared in
the scene, choose it and check the Inspector on the right, you will see it has some
components:
Make sure every objects has its unique id in a mod file. Now you could Adjust its properties.
Armor is measured in mm, the default value is 50mm. Weight is measured in ton(Weight
has already been removed, you could calculate the weight by multiply volume & density),
Price is not implemented in the game yet but you could fill it first. Part Name and Part
Description is the name& description that will showing in the game, Builder class is the
classification will be used in the game. Nation is the mark which will be used for
classification in the inventory panel.
The next is the Box Collider, you should adjust its size manually to fit the size of
your mod, to name a few, center (0,1,0) and size (1.5,2,0.5) is set for this low poly
man.
(Notice: the minimum unit for collider should be 0.1, or it may broken the snap
system in the game)
The next is Mesh Renderer and Mesh Filter, you could importing your models to
unity use the similar approach as importing photos, when importing is done, you will
see it under the Project window:
Click and drag the wireframe model(In this case is the rightmost object) to the Mesh
tab of the Mesh Filter, now you should see your model lying in the scene.
For Hulls/Decorations your work has been done, now back to the NA mod
window, first select your object in the scene, which is click on the object’s name in
the Hierarchy panel on the left (Multiselect by hold control/ Shift), and then click the
button Load All Objects, you will see it says 1 object has been loaded, and your
selected object has been renamed to it’s id.
Make sure you have a preview image with your part, and filled in all information of
your mod, then click Save Mod, choose the path you want to save the mod , and
wait until the exporting is done.
When the mod is correctly exported you could see a new backup folder, you could
delete it as soon as you want
Now you should see your mod folder is under the path you choose, copy and pasted
it to the Mods folder under the path of the game, for more instructions please check
the How to Install Mods chapter below.
Engine
The process of adding an Engine is similar to the content above,but it has a child
object which is smoke:
it stands for the position where smoke generate in the game, change it position to fit
your requirement, simply delete it to close the smoke effect, or duplicate it (Ctrl + D)
to make more smoke.
Rudder/Thruster/Radar
For those parts and along with the Turret or Torpedo Launcher, the model is not on
the first object, they should be located in the child objects for rotating or other
purposes.
To set their model you need to open their child objects on the right Hierarchy panel,
and do the similar process as for Hull/Decoration. Config their parameters freely to
create a mod.
Turret/Torpedo Launcher
Firstly, on the modeling side, you should use 3 models for a turret (pedestal,
turret,barrel) and 2 models for a torpedo launcher (pedestal, turret) , and the rotation
axis is the local center of each model, you should set it in modeling software.
For Turret and Torpedo launcher, adjust its parameter under the components above,
check its structure in the Hierarchy,
You could duplicate the muzzle object to make a second muzzle, muzzle is where
the shell/ torpedo generate, however , remember to change the size of the Muzzles
in the component, for example, first Ctrl + D to duplicate the muzzle object,
adjust the new muzzle object to a suitable position and drag the Muzzle(1) to
Element1 of the Muzzles :
Also Remember to set the collider after your configuration is done.
AA guns
Adding aa guns is similar to the process above. Firstly you need to assign a barrel &
turret. The difference is that there is only one muzzle allowed for AA guns for
optimization, consequently you may need to place it in the middle point of your
model’s muzzles.
Textured Mods
So As the Author I see a lot of players trying to add textures to their mods, which
gives players more freedom to create their own designs, like rainbow deck, crew
models, even anime characters, which barely work in the previous modding tool. So I
added this function, simply add the script to the part you want, the game won’t
replace the texture of it, which means it won’t have any damage effect, however, it
will keep the material & texture on it, theoretically you can even make a glass
screen, and since the part won’t be processed, it will load faster, I suggest models
have high poly count also should be added with this script mask.
To Add mask, select the part - drag the script Part Color Mask to the inspector of the
object.
There is an example in the newest mod tools’ ExampleScene , shown as the model
below, it tells you how to import models with textures or custom materials.
To Add script, you could open the NAModToolCore located in the Assets folder,
simply drag the PartColorMask script to the inspector of the object.
Skyboxes for builder
It doesn’t need mod tool package to do this. Just replace the textures inside the game’s file
path.
Telescope Modding
Same as above, in the game’s file path, which is NavalArt - NavalArt_Data -Telescope , you
can edit the Settings.cfg File, to adjust font size and position, or you could replace the
telescope.png to use be your custom made.
(Note: For modding skyboxes and telescope locally on your pc and use them
personally, you could just follow the process above, if you want to upload your
mod to Steam Workshop, please check the How to upload mods to Steam
workshop chapter below)
Further More, in version 0.9, since now players could upload their mods to Steam
workshop, to let the game identify your mod type, and upload Telescope mod or
Skybox mod to Steam workshop, you need to create the mod folder from NA
MODTools, after the folder has been created, it will be opened automatically, then
you will need to copy& paste all the files into the folder, in order to upload it later.
To be more detailed, visit the chapter How to Upload Mods To Steam Workshop
below.
Localization Modding
(Optional : Check the Example Language Mod in the Steam Workshop:
https://steamcommunity.com/sharedfiles/filedetails/?id=3029168019)
Firstly create your mod folder using the mod tool by select localization item in the mod tool
window:
It is suggested to move the folder and test your mod locally in NavalArt - NavalArt_Data -
Mods - [YOUR MOD FOLDER], (If you don’t have “Mods” folder, create one) the folder
structure should be like what has been shown below:
Left Column: Keys, you can find them in the game’s data folder: NavalArt -
NavalArt_Data-Localization. You could copy-paste all of the keys in one
language.xlsx file , but leave the translation be blank will lead to errors, you could
also translate a part of all the keys with no blank translation, but the text in the game
will be blank if you don’t have the keys added in your language.xlsx file.
Second Column: Translations, notice you should leave the first row for language
name, in this case “Language1” , or “English-US” if you are trying to add an English
translation mod.
Furthermore, if you wish to have two languages in one mod, just add another column
in the csv file.
After finished the translation, don’t forget to create a “Flags” folder and put a picture
in it, the image should be .png file and the same name as your language code in the
first row, resolution should be 80*48
Open the game, if it works locally, them you should upload it to the workshop, don’t
forget to add a thumbnail for your mod. Check Preview Image and Uploading Tutorial
To begin with, it is recommend to create a “Audios” Folder, it’s not necessary but it
will help you classify audio files hence making the asset hierarchy keep organized.
To replace vanilla sound of the turret, first make sure you are using the newest mod
tools and upgraded your project (please always remember to backup your project
before upgrade! ), you will find a Sound Mod title in the bottom of the inspector of
the turret script.
Properties:
● Use Modded Sound : set to true to use your modded sound clip
● Modded Sound: Assign your modded sound clip here, please notice aa gun’s
audio clip should be a looping sound
● Modded Audio Pitch: Change the audio pitch here, for example, you can use
one clip resource and change the pitch to simulate different calibers.
● Modded Audio Volume: 1 equals to 100%, adjust it with caution.
Check the example turret with id : 1001 in the example mods, it has been replaced
with a blaster sound.
Missiles
Missiles take the step of modding further by having more properties and independent
material & textures, even with launch animations, so it’s only recommended for experienced
modders to create a missile mod.
You will find two ways to create a missile, select Missile in the Part Type menu, and click
create, an empty object with PartAttributeProxy, Box Collider and PartMissileProxy
components will appear in the scene.
Or you could drag your missile launcher model in the scene directly , and copy & paste these
components to your model.
Check the example missile launcher in the example scene, notice the hierarchy and manage
yours carefully. (If you can’t load the models, please download blender since the example
models are blender files.) Meanwhile, don’t forget to create an empty object for assign
missile spawn position.
If you want to create VLS, since the box collider is very thin and only set to the surface of the
VLS for better placing you need to have a magazine object, it could be an empty
gameobject but with a box collider, the game will switch to the magazine box collider when
you enter scenes with physical simulations as long as you registered the magazine object as
be shown in the next steps.
(1.Thin box collider of the “275” VLS 2.”dyk” object as the child of “275”, it should be
disabled like missile 3.”dyk”’s actual box collider)
Generally speaking missile and its components as its children should be a seperate object
located as a child of the missile launcher. Before exporting the mod you should disable the
missile gameobject by click the toggle in the red circle below, it is not disabled but shown
here for demonstration.
Very important: Please notice two gameobject inside the Missile object, they need to
always have certain names (The game auto detect them by searching names, so wrong
spelling will cause errors) exist inside the missile object the first one is “Booster”,it stands
for booster models for missile which has an actual booster, or it should be set to an empty
gameobject as child of the missile gameobject, “Booster” will be separated from missile at
certain time. The other one is “Thruster”, it stands for the location of rocket trails (tail flame)
, “Thruster” must be a child object of “Booster”. (Tip: If you want to create a mod missile
with more than 2 stages, check the YJ-18 missile in the game, it has 3 stages, one is
“Booster” and another one is achieved by adding an seperate-drop-disable animation to the
second stage.)
Meanwhile, if you want to use your custom afterburner effect, you can add a “Booster” only,
then put your own afterburner particle effect on your missile, you could also forget about
“Booster” if you don’t want a program generated stage split animation. (you can adjust the
Booster Split Time to let the missile never stop the afterburner sound effect)
For launching animations like unfolding wings, first select the missile and make sure it has
wings and booster set as its child object, then open the unity Animation window , click
create animation, if you don’t know how to create an animation in Unity3d, find a tutorial
online or ask modders in the community about that, it’s quite neat and simple.
In the example, an unfolding animation has been added to the missile, since missiles are
disabled(hided) before launch and activated as long as they have been launched,
animations will start playing automatically.
You also need to create a thumbnail for your missile with transparent background, it should
be a png file, size is recommend to be 256 * 64 , check the example missile icon inside the
Example folder
Please notice your missile launcher’s name too, it must have a pair of “[” “]”, the game will
read the string between those two characters to parse the missile name which shown in the
in-game missile panel.
Properties:
Anim Target If you want to let your launcher’s barrel rotate to a certain angle or
the cover of your VLS opened first before launching the missile,
assign this to the target
Target Final Rotation The final rotation of the Anim Target will rotate to
Anim Time The time it will take for Anim Target to finish the animation
Magazine The collider for VLS or other purposes, if is not null, the game will
switch the missile launcher’s collider to this item’s collider
Missile Res The resource object to duplicate when firing missiles, the resource
missile should be disabled before exporting mod
Missile Tex The texture file of the missile in the panel(256 * 64, png)
Tubes Set the size of Tubes according to your mod, see the explanation
below in the properties of tube section
Booster Split Time (Seconds) Split time of the “Booster” and “Thruster” gameobject, if
you want to make the rocket trail exist before hit the target, use
animation to make a dummy booster
Start Maneuver Time (Seconds)After certain seconds the missile will maneuver at max
acceleration
Interception Rate 0-100, when warhead type is AA, it stands for interception rate,
otherwise, total interception rate = AAMissileIntpRate *
TargetMissileIntpRate (Will be implemented soon, in v0.9 the
formula is rate = AAMissileIntpRate * 1)
Properties of Tube
Cover The cover of the missile launch tube, can be left as blank if you don’t
need it
Prewarmed For missile launcher which exposed missiles outside like the in-game
m-11 or mk-26 launcher, set the value to true
Prewarmed When the above value is set to true, drag the corresponding missile
Missile gameobject into this section, or select it. Prewarmed missiles should
be different gameobjects of Missile Res, or it will cause bugs such as
texture loss.
Detect Collision The missile will only detect collision after certain seconds of delay,
Delay useful for VLS
End Rot If is not (0,0,0), the cover will not be hidden but rotate to this angle
after launch, useful for VLS
Upgrade Your Mods for new weapon type sorting panel in 0.9
For those who may noticed your weapon mods can not be sorted using the
in-game sorting panel in the inventory, this is because Weapon Type is a new
property added in version 0.9, by default your weapon type is set to “Others”
To make it take effect, firstly please make sure you are using the newest mod
tool, and upgrade your project (please always remember to backup your project
before upgrade! )
You will notice a new Weapon Type property shows like the photo below,
simply choose the correct type for your weapon mod, save the project and export
your mod, then you should find the sorting panel sorts your weapon mod by its
weapon type property now.
ASW stands for Anti Submarine Weapons, it has not been implemented in the
game for now.
Modding Rules
To all modders, I highly recommend you to pack seperate mods into one
big package, it has a lot of advantages rather than put one part in one
mod, to name a few, the system read one big file much faster than
several small files.And it’s also more convenient for you and others, both
for finding mod and update mods. To import all parts in one mod, you
need to create mods in one Unity project, and in one Unity scene, select
them all and export.
Please check this chapter carefully in order to make the mod running without
any problems.
For every part it needs a thumbnail in the game. In the process of modding you
should have a png file located under the Resources folder, and its name should be
“p + id of the part”, for example, if there is a part with id 1000, then you should import
a png file and rename its name to p1000 (notice: the p must be in lowercase,and
make sure the image is set to sprite rather than Texture2D or it may not be loaded in
the game) .
Another thing should be noticed is that, it is better to export your mod as a whole
package rather than many small folders. To be more detailed, assuming you have
made two mods, one decoration and one turret, there are two choices for you, the
first is export them as two different packages, another one is to export them as a
package, for example: “WWII weapon mods”. It’s always a superior solution to
choose the second solution. Since personal computers read big files much faster
than many small files.
You should always pay attention to the “Read Write Enabled” toggle in the model import
settings. Be sure to remember that since it’s critical to making mods in this game.
Open the folder where NavalArt is installed, normally its under Steam library, my path for the
game is E:\NavalArt\NavalArt_Data, the folder structure will looks similar as the picture
shown below:
If you don’t have the Mods folder under the folder, simply create one, but please notice the
spelling, mod won’t load with the wrong word!
Then put the mod folder you just created with the mod tools under the Mods folder, then it’s
done. You mod has been installed.
Open the game(Actually it’s fine to install the mod even when the game is running, but you
may need to exit and enter the Menu again to let the game load your mod), then you should
see your mod in the mod manager window.
Then the job is done, it's simple, right? Open the Mod tab or Inventory panel in the game to
check whether you have installed the mod.
How to Upload Mods To Steam Workshop
For version 0.9 and above, now players could upload mods to Steam Workshop (
finally! )
To upload mods to Steam Workshop, firstly, you need to enable Developer Mode in game’s
setting panel, then a menu will appear in the top of the game window. Click the button : “Mod
Uploader” , the upload panel will be enabled.
Be aware, all the elements with * must be filled or selected in order to upload mod to Steam
Workshop, or the UPLOAD button won’t be interactable.
Preview Image
Attention, although you could select the Preview Image in the uploader panel, always
remember the preview image should be .png format, and named as “Preview.png” in the
folder, or the file won’t load in the Mod Management panel in the game.
Preview Image Size suggested: 512x512 JPG or PNG, too big file will cause the upload
process to fail
Examples:
Upgrade Guide
A: Yes, but to ensure max compatibility and optimization, please only use the default
material in the game. The performance will drop dramatically when there are too many parts
with its own textures, however if you have a fast computer and won’t provide mod to others
who might use an old pc then its fine.
A: Make sure the forward direction for the turret in unity is the z axis.(The Blue Axis)
Q: Unity says “You are trying to replace or create a Prefab from the instance '1000'
that references a missing script. This is not allowed.”
Q:My game camera is not focusing on my ship in the game after I installed my mods.
A:You need to enable “Read Write Enabled” in the model import settings. Be sure to
remember that since it’s critical to making mods in this game.
A: At version 0.9, the preview image file location has been changed, please check the icon
part above to modify your mod.
Q:My parts in my mod always shows a pigeon with “No Preview” at the inventory
panel
A: First make sure your preview image has the right name and also located inside the
“Resources” folder, then make sure the Texture Type in your image has been set to
“Sprite(2D and UI)” rather than Default.