What is this tool?

TaleWeaverLite is a minimal tool for composing pre-made assets into a creature mod that is ready for use by TaleSpire. 

It is not a modeling or posing tool. It expects content in specific formats and with particular layouts (see further down the page for details).

TaleWeaverLite is a Unity project. That means you will need to install the free version of Unity to make your creature mods (we have a link to the correct version further down this page). We may use a different (also free) approach in future, but we used Unity as it handles processing assets well and made it easy for us to make some UI for the process.

First time setup

This first section will guide you through the setup process.
To begin, browse to https://unity.com/download

Click "Download for Windows" to download Unity Hub.

Once the download is complete, run the exe to install the Hub.

First, click here to tell Unity Hub to install Unity version 2021.3.28f1

Your browser will probably ask you to allow it to open the link. Allow it to do so.

Wait until the installation is complete.

Unity Hub will prompt you to set up an account and a license. Please remember that you only need the free (Personal) account. You do not need to spend money to make mods for TaleSpire.
Now, let's get TaleWeaverLite.

Download the TaleWeaverLite zip file from here: https://files.dicewillsuffice.net/TWL/TaleWeaverLite.zip, and then extract it to somewhere you find convenient.

In the Unity Hub, click "Add", browse to the extracted directory, and click "Open".

Unity will add and start opening the project.
When it is open it will looks something like this

Updates

From time to time, we will be updating TaleWeaverLite to bring you new fixes and features. 
When we do this, you will see a little note at the top of the Creature Mod panel saying, "TaleWeaverLite has an update waiting," along with a button to "Start install."
To download and install the update, click the button and wait until the process is finished. It will take a short time to find and install any updates, but once it has finished, you can carry on as before.

Making your first creature mod using the example assets

We have included some example assets so you can test everything is working.

First, let's set the name. We are going to use "Hacker"
Next, we set the mesh and the three textures.

We are going to leave the "Add paint wash" box ticked. This applies an effect that is intended to make the creature look more like a miniature. Right now, it's rather basic, but any improvements to the effect will be automatically applied to creatures that use this setting without you having to re-export them.
Next up, we will slightly adjust the rotation as the stance doesn't feel quite right to me.

We can get to the rotate tool in a couple of ways.
You can click the creature and then click the rotate tool icon on the left.
Or, you can click the "Focus creature for rotation" button in the "Creature Mod" panel.

Once you have the creature focused, you can rotate it using the gizmo or tweak the angle values themselves in the inspector on the right. 
Next, we'll set the size.

In TaleWeaverLite, we set up how the creature will look when the scale is set to one. 
You can then set the "Default Scale," which tells TaleSpire what scale to apply when a creature is first added to the board.

To adjust the size, you can:
- click the creature and then click the scale tool
- click the "Focus creature for scaling" button
- click the creature and tweak the scale in the Transform in the Inspector panel

Picking a creature's size is usually a matter of feel, not precision. 
To help you pick a size, you can tick "Show creatures for scale" to see a range of creatures and get an idea of the size that would make sense for you. All of the example creatures shown have a scale of one.

Please note that the preview is not affected by the "default scale."
TaleSpire needs to know a few key points on your creature. It uses these when doing things like spawning spell animations and positioning the torch.
One by one, click the "Select X Target" buttons and position the targets according to the instructions.
Lastly, we set up the camera position and rotation for the thumbnail and "photo." 

The thumbnail is a small image used by TaleSpire. Try to frame the thumbnail so it is understandable in the small preview. This will help when it is used in-game.

The photo is a larger image that is saved alongside your mod file. It is likely to be helpful when uploading your mod to an online repository.
Now we can save and we have a creature mod!

Advice for your own creatures

With creature modding, you are now developing for TaleSpire. Welcome!

One of our big goals is to make TaleSpire run well on as many machines as possible. One part of achieving that goal is avoiding making board objects (tiles/creatures/props) more expensive than they need to be. Players are free to spawn them as often as they like, often using them in ways you never expected.


Mesh

You must have a single mesh that uses triangular polygons.

The maximum number of vertices we currently allow is 60000.
The average vertex count of all the creatures currently in TaleSpire is 4500. The max vertex count we have allowed ourselves for our creatures so far is around 11000.

Out of the box, Unity supports .fbx, .dae (Collada), .3ds, .dxf, and .obj files.

You can find STL importers, but using STLs will almost certainly fail because the vertex count is commonly in the hundreds of thousands, and the meshes are composed in a way that is perfectly fine for printing but not for games. Furthermore, they lack textures, making them look very poor in the game.

If you are set on using STLs, then it is probably best to:

- bring that STL into a 3D modeling application
- make it into a single air-tight mesh
- make a low poly variant from that
- Use the high poly to generate the normal map

And even then, without textures, it's not going to look great.


Textures

You should have three textures. Each texture should be at most 2048x2048 pixels in size.

The albedo and normal textures work as you would expect.

The final texture stores Metallic in the first channel, AO in the second, and Roughness in the fourth channel. The third channel is currently unused.

Even though this is a PBR approach, you don't need to hold yourself to realistic values. Your goal should be to get the miniature feel.