Free sprites for Terraria mods and resource packs
Find an enemy, item or critter in the gallery, turn it into the vertical strip Terraria expects, and drop it next to your tModLoader class. The art is free to use, including in mods you publish.
Recent sheets for Terraria mods
Recent sheets up to 64x64 per frame, which covers most enemies and items once they are doubled. These are original uploads, not Terraria rips, and that is why you can ship them.
Terraria sprite sizes and layout
- Pixel scale
- 2x (each art pixel is 2x2 in the PNG)
- Animated NPCs and items
- One column, frames stacked top to bottom
- Frame height
- Sheet height / frame count, equal for every frame
- tModLoader texture
- Same name and folder as the class (MySlime.cs + MySlime.png)
- Resource packs
- pack.json + Content/Images/NPC_1.png and so on
C# (tModLoader)
public override void SetStaticDefaults() {
Main.npcFrameCount[Type] = 4;
}
public override void FindFrame(int frameHeight) {
NPC.frameCounter++;
if (NPC.frameCounter >= 8) {
NPC.frameCounter = 0;
NPC.frame.Y = (NPC.frame.Y + frameHeight) % (Main.npcFrameCount[Type] * frameHeight);
}
}Add a gallery sprite to a tModLoader mod
- 1Pick a sheet in the gallery. Small enemies and critters at 16x16 or 32x32 are the easiest fit.
- 2Click Open in Editor and set Columns to 1. Terraria reads animation frames top to bottom.
- 3Double every frame with 2x in the Pixel Cleanup panel. Terraria art is drawn at 2x, and 1x art looks half size and oddly sharp next to it.
- 4Export the PNG and name it after your class, in the same folder as the .cs file.
- 5Set the frame count to the number of frames in the sheet, as in the snippet below.
Fixing Terraria sprite bugs
- The animation shows a slice of the next frame.
- npcFrameCount does not match the sheet, or the frames are not all the same height. Count the frames again and keep one column with equal cells.
- The sprite looks tiny and too crisp.
- It is still at 1x. Scale every frame 2x so one art pixel matches one Terraria pixel.
- tModLoader reports a missing texture.
- The PNG name or folder does not match the class. MySlime in Content/NPCs looks for Content/NPCs/MySlime.png.
- A resource pack loads but nothing changes.
- The file names have to match the vanilla ones exactly, like Item_1.png, inside Content/Images.
Shipping gallery art on the Steam Workshop
A tModLoader mod on the Workshop can reach thousands of players, so the art in it has to be yours to share. Gallery sheets qualify: publishing one here grants every user the right to reuse it, no credit required.
Vanilla sprites are a different matter. Re-Logic's art belongs to Re-Logic, so a gallery upload that looks like a recolored Terraria enemy should stay out of your mod.
Read the termsTerraria modding questions
Find a sprite for your next enemy
Stack it into one column, double it in the editor, and drop the PNG next to your class.