Cosmetics Guide 1
Cosmetics Guide 1
To get started, the first thing you want to do is to setup your development environment.
We recommend Visual Studio as the IDE of choice and this tutorial will continue with the
assumption that you are using Visual Studio. Some alternatives include Rider for linux
development and Visual Studio Code for lightweight systems.
Once you've installed the community edition installer, you need to now install the
individual components needed to mod PlateUp.
In the Workloads tab, make sure the following workloads are installed:
● .NET desktop development
● Game development with Unity
In the Individual components tab make sure these following components are installed:
● .NET Framework 4.7.2 targeting pack
● .NET Framework project and item templates
Once all of that is installed you're ready to make your first project.
Now search yariazen and install my nuget package. As long as your PlateUp game is
installed in a normal location, you won't run into any issues here. If you do encounter
any issues please ping me on discord.
Now in the Solution Explorer, delete the default class Class1.cs
Now make a new item, and name it Mod.cs. This will be the main part of your mod.
The following is a template for Mod.cs.
Make sure to leave the namespace of your file as is instead of copying this
namespace.
Here's an explanation on semantic versioning notation: https://semver.org/
using KitchenLib;
using KitchenLib.Logging;
using KitchenLib.Logging.Exceptions;
using KitchenMods;
using System.Linq;
using System.Reflection;
using UnityEngine;
namespace ClassLibrary1
{
internal class Mod : BaseMod, IModSystem
{
// GUID must be unique and is recommended to be in reverse
domain name notation
public const string MOD_GUID = "com.example.mymod";
// Mod Name is displayed to the player and listed in the mods
menu
public const string MOD_NAME = "My Mod";
// Mod Version must follow semver notation e.g. "1.2.3"
public const string MOD_VERSION = "0.1.0";
public const string MOD_AUTHOR = "My Name";
// Game version this mod is designed for in semver
// e.g. ">=1.1.3" current and all future
// e.g. ">=1.1.3 <=1.2.3" for all from/until
public const string MOD_GAMEVERSION = ">=1.1.7";
AddGameData();
}
// AddGameDataObject<MyCustomGDO>();
using KitchenData;
using KitchenLib.Customs;
using UnityEngine;
namespace ClassLibrary1
{
internal class ExampleOutfit : CustomPlayerCosmetic
{
public override string UniqueNameID => "ExampleOutfit";
AddGameDataObject<ExampleOutfit>();
A couple of notes to keep in mind now. You may notice your CustomOutfit didn't have
materials applied to it on its OnRegister function. That's because KitchenLibrary
automatically applies materials if they're on your unity GameObject. If you run into any
issues with this process however, do message us on the discord.
To test your mod, you can just click Build and launch the game.
I think I covered the basics for the code here, anything else you get confused about let
me know!