Before we continue our talk from the previous MMT, we would like to give an update on the modding part of the game.
A couple of months ago we introduced official modding to the game and you seem to like it a lot judging by the workshop content. With it you were able to change .json files functionality, add localization and custom scenarios which is all good, but we are aware that the majority waits for the part where you’ll be able to introduce custom 3d models into the game. So let’s talk about that.
Currently, introducing new things in the game is… limited. It can be done but the visuals would stay the same.
For instance, if you’d want to introduce broccoli to the game, you would be able to do so by finding another resource in the Resource.json and copy it and rename it to broccoli and rename the parameters to your liking.

Note that some of the names have to be added in other documents for this to work. So after all is set and done, you would have broccoli in the game… but it would look like cabbage.

That is because the resource was using the same prefab, in this case “cabbage_pile”. Prefab (short for "prefabricated object") is a reusable asset that stores a game object along with its components, properties, and child objects. Prefabs allow us to create, modify, and instantiate complex objects efficiently without having to rebuild them from scratch every time.
With the new modding update, the data will look like this:

And will allow for mesh integration. A mesh is a 3D model composed of vertices, edges, and faces that define the shape of an object. Meshes are the fundamental building blocks for 3D assets in games, including characters, environments, weapons, and props.
This new approach will allow you to modify the game's object in different ways. You can either:[olist]

You will be able to change the texture of the existing object with a new one. Why not replace it with the existing one? How about some clay brick cabbage?

Alternatively, you will be able to make a new texture, rename it into an existing one and put it here or name it as a new one and reference the new name in the code.
Or you can go brute-mode and use color overlay by changing the ColorValue parameter. Someone is certainly a fan of purple cabbages:

Resources, equipment, vegetation and even buildings will be customized by all of the stuff mentioned above. There are some constraints with the current system when it comes to buildings. For instance, you will be able to create a production building that is 5x5 in size, but some of those areas might not work as intended because such a building does not exist in the game. Nor will you be able to make a table that is larger than the current large table in game. It is possible, but some weird behavior can be expected in that case. Like, feast food and cloth would not occupy that “extra part” of the table nor would the table be selectable via that extra part. The buildings that you use as a foundation for your modeling and modding will have to retain some common things - like the location of the flame that appears during the production and standing spot for the settler during their work.
As long as you follow preexisting templates, you should be able to modify existing and add new stuff to your liking with the upcoming update. Once you make your meshes and/or textures, you will have to import them via a separate Unity project taken from our GitHub and use that project to build addressables. Addressables is a system used for efficient asset management, allowing developers to dynamically load and unload assets at runtime. It helps optimize memory usage, reduce build size, and improve performance, especially in large projects. That way, Going Medieval is able to load external meshes, textures and text mesh pro sprite assets. But more on that once the update goes live.
Want to be among the first modders that will be able to try this? Keep your eyes on the Modding branch. We’ll post a note when we push this update there.
Switch to Modding branch on Steam. [Properties>Betas>Private Betas] The code is: [spoiler]DazzleBrokerColibri[/spoiler]
Once you have mod working locally you can put it on Workshop and update later on.
We’ll go into more detail once the update goes live and we’ll provide you with a proper guide for this type of modding. While you wait, let us know how this all sounds to you. Next MMT will be about those siege weapons we mentioned before. Until then…
Stay medieval!
Foxy Voxel
Discord Reddit X/Twitter Bluesky TikTok Facebook