| Last updated | 8 hours ago |
| Total downloads | 8 |
| Total rating | 0 |
| Categories | Mods Tools Libraries |
| Dependency string | M3lowdy32-Custom_Products-1.9.0 |
| Dependants | 2 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2304README
## How to create a custom Product?
Download the Example (shaklin_products.zip under optional downloads), you can use it as a template.
Short Tutorial:
1. Create in the subfolder "Products" your own folder (name doesn't matter, but it should be unique)
2. Place your mesh (obj), texture (png) and the icon (png) into your new folder
Names must be unique! You can use your nexus-name or the tier+productID number, etc
3. Create a json file (copy it from the template), rename it as you want (must be unique!) and open it with an Editor.
Edit it as you like.
Note:
If you already have old .json files from previous versions, start the game once (main menu) and close it again. After that, all json files should be updated.
Product_ID and Product_Tier must be unique, otherwise the products will overwrite each other.
4. Finish! Test it in-game
If you need help with:
Product_ContainerClass
0 = Shelf
1 = Fridge
2 = Freezer
3 = Produce Shelf
4 = Pegboard Shelf
Tier_Requirement
0 = Basic Products I
1 = Basic Products II
2 = Basic Products III
3 = Basic Products IV
4 = Basic Products V
5 = Basic Products VI
6 = Dairy Products I
7 = Dairy Products II
8 = Soda Drinks I
9 = Frozen Foods I
10 = Frozen Foods II
11 = Hygiene I
12 = Hygiene II
13 = Hygiene III
14 = Cleaning Products I
15 = Cleaning Products II
16 = Sweets And Snacks I
17 = Sweets And Snacks II
18 = Sweets And Snacks III
19 = Sweets And Snacks IV
20 = Meat I
21 = Preserves I
22 = Infusions I
23 = Seafood I
24 = Books Pack I
25 = Books Pack II
26 = Alcoholic Drinks I
27 = Alcoholic Drinks II
28 = Alcoholic Drinks III
29 = Pharmacy I
30 = Pharmacy II
31 = Produce I
32 = Produce II
33 = Produce III
34 = Produce IV
35 = Child Care I
36 = Child Care II
37 = Soda Drinks II
38 = Soda Drinks III
39 = Sweets And Snacks V
40 = Sweets And Snacks VI
41 = Preserves II
42 = Gardening I
43 = Gardening II
44 = Gardening III
45 = Gardening IV
46 = Small Electronics I
47 = Small Electronics II
48 = Small Electronics III
49 = Produce V
50 = Sweets And Snacks VII
51 = Basic Products VII
Or any custom Tier_ID
Example .json file for a new custom product:
Copy the inside with the "[]"
[
{
"Tier_ID": 1028,
"Tier_Name": "Baked Goods I",
"Tier_Requirement": 0,
"Blackboard_CategoryName": "Baked Goods",
"Blackboard_Color": "#F5E9AF",
"Product_ID": 1150,
"Product_Name": "Wheat Bread",
"Product_Brand": "Bakery Factory",
"Product_ContainerClass": 3,
"Product_maxItemsPerBox": 16,
"Product_isStackable": true,
"Product_basePricePerUnit": 3.80,
"Prefab_Name": "",
"Mesh_Name": "1028_1150_bread_wheat",
"Texture_Name": "1028_1150_bread_wheat",
"Sprite_Name": "1028_1150_bread_wheat_icon",
"Sprite_Tier_Name": "1028_Tier_icon",
"Hitbox_Width": 0,
"Hitbox_Height": 0,
"Hitbox_Depth": 0,
"Mesh_AutoSmooth": false
}
]
- Explain:
Tier_ID = the ID for your new Tier (a Tier can have more than 1 product btw)
Tier_Name = the name of the Tier
Tier_Requirement = what Tier ID it needs before it can be unlocked (you can even write here one of your Tier IDs)
Blackboard_CategoryName = the category name in the shopping list (Blackboard Manager)
Blackboard_Color = the color in the shopping list (Blackboard Manager) and for the boxes
Product_ID = the ID for your new product
Product_Name = the name of your new product
Product_Brand = the brand-name of your new product
Product_ContainerClass = in which shelf can it be placed
Product_maxItemsPerBox = how many products are in one box
Product_isStackable = true if it stackable, if not then false
Product_basePricePerUnit = the base-price of your product
Mesh_Name = the mesh (obj) name for your product
Texture_Name = the texture (png) name for your product
Sprite_Name = the icon (png) name for your product
Sprite_Tier_Name = the icon (png) name for your Tier
Hitbox_Width = the width of the product mesh (if you write 0 then the mod will write it automatically in the json for you)
Hitbox_Height = the width of the product mesh (if you write 0 then the mod will write it automatically in the json for you)
Hitbox_Depth = the width of the product mesh (if you write 0 then the mod will write it automatically in the json for you)
Mesh_AutoSmooth = if your mesh not looking good, you can turn on Autosmooth (true). If not, then write false
Hitbox widht, height and depth are important because with that the game calculate how much product items can be placed in the shelf. If you want to place more and make the spaces between the product items narrower for example, then reduce the width value. Nothing is changed on the mesh itself! You just trick the game into thinking it's narrower/wider or shorter/longer
Because you dont know the widht, height and depth yes, you have to write 0. Then start the game (Main Menu) and close it again. The mod has now automatically updated your JSON file and added the values.
There's a help function in the game for fiddling with the values. Press F1, go to Custom Products and Hitbox Helper.
## INFO: Please make sure your mesh (obj file) isn't too large; it should have around 10,000 polygons.
If the mesh is more complex and has more polygons, the game may stutter!
## FAQ:
Does it work in multiplayer mode?
- Yes. If the host has this mod, ALL clients must have the mod and download all the same products.
- Note: Do not make your game public if you use this mod. It will cause errors for users without this mod.
I downloaded/created custom products and I want remove them. But I want to keep the mod/other products
- Simply remove the specific product folder. The mod will automatically remove all references to this product from the savegame in-game
I used this mod with custom products and now I don't want the whole mod + custom products anymore.
-
But I want to keep my savegame and continue playing with the vanilla game.
-
The savegame must be cleaned up for this.
-
To do this, open the shaklin.CustomProducts.cfg (in Supermarket Together\BepInEx\config) and set this to true:
-
CLEAN SAVE MODE = true
-
Start the game, load your savegame that has the custom products, wait until the text appears "Quit the game & remove the mod 'Custom Products'.
-
Then close the game. Remove the custom products mod + all products folders.
-
Also, delete the shaklin.CustomProducts.cfg.
-
Now start the game and see if the save works again.
I am a creator and I want to use multiple textures and also transparent ones. How?
- Your mesh (obj) can have more than 1 groups.
- Make sure to always load and save obj files with separate groups (unfortunately this is not activated by default in Blender).
## follow this steps to add Custom Products.
When importing:
[Tutorial Image1](https://imgur.com/ceXDRzE)
When exporting:
[Tutorial Image2](https://imgur.com/qqHXzWR)
Here you can see again that the milkshake (included in shaklin_products.zip under optional Downloads) has 2 groups:
[Tutorial Image3](https://imgur.com/sJDZUjF)
In the json file:
"Texture_Name": "1004_1013_Milkshake",
So we put for the first group a 1004_1013_Milkshake.png in our folder.
For a group2 1004_1013_Milkshake2.png, for a group3 1004_1013_Milkshake3.png and so on.
In our example the milkshake has only 2 groups, but the 2.group is transparent. To tell that to the mod we add _transparent at the end.
So in this example we have 2 png files in our folder:
1004_1013_Milkshake.png
1004_1013_Milkshake2_transparent.png
For Textures are 4 variants:
_transparent (just transparent without any glow/shiny)
_transparentshiny (transparent with shiny)
_plastic (plastic-like, alpha not adjustable)
_glass (glass-like, alpha not adjustable, smoothness 0.65)
_glassb (glass-like, alpha not adjustable, smoothness 0.90)
_glassc (glass-like, alpha not adjustable, smoothness 1.00)
_nocull.png (renders both sides of the texture)
_noculltransparent (renders both sides and supports transparency)
I am a creator and want to use normal maps etc for my products. How?
Put the textures in your folder and name them like the texture and add this after the name:
Normal Map: for example mytexture_n.png
MetallicGloss Map: mytexture_m.png
Occlusion Map: mytexture_o.png
Specular Map: mytexture_s.png
Emission Map: mytexture_e.png
And for the transparent texture (if needed):
Normal Map: for example mytexture_transparent_n.png
MetallicGloss Map: mytexture_transparent_m.png
Occlusion Map: mytexture_transparent_o.png
Specular Map: mytexture_transparent_s.png
Emission Map: mytexture_transparent_e.png
Note: Emission Map is for the glowing/Light. Use colors to glow it, and black for non-glowing parts.
Since version 1.1.9 its possible to import unity3d files (prefabs). How?
Its the best to download the prefab example file under Downloads/Optional files.
You need Unity Editor 2023.2.22f1
https://unity.com/releases/editor/archive
(Click on 2023, then click Install for 2023.2.22f1)
Create in the Editor your prefab, select everything (prefab, textures, material, mesh, animation etc), then right-click on it
and click on "Build Single AssetBundle From Selection..."
Your prefab with all its assets will export to a single *.unity3d file (you can delete all other exported files, except the *.unity3d file)
Then open your product json and write under "Prefab_Name" the filename.
Note: If you use your own Editor Project and you can't find the entry "Build Single AssetBundle From Selection...", then download the Prefab example
and copy the file CustomProduct\Assets\Editor\BuildSingleAssetBundle.cs into your Assets/Editor Folder.
With that script you get the new Export entry.
Note2: Many shader are not working, they are just placeholders (many also are paid and it would not be allowed to share them), but they will work in-game.
You can replace them with your own shaders. But you can only use the shaders that Supermarket Together is using!