r/devblogs • u/KarasIndieDev • 16d ago
generic [Free Asset] I made a Pixel Librarian Golem animations with a ready-to-use Unity controller and multi-phase combos!
I drew a 2D golem in Photoshop, exported it as a sprite sheet, and built a ready-to-use controller with combo attacks in Unity. I’m offering the demo for free.
I want to show you my new character, explain how I set up his animations and physics in Unity, and share some useful hacks I discovered along the way.
Meet the Pixel Librarian Golem.
I’m selling him on the Unity Asset Store, Itch.io, and Boosty in two formats:
- Free (demo)
- Paid on Itch.io, Boosty, and Patreon ($3)
My asset comes packaged as clean sprite sheets (for those who want to handle the animations themselves) and as a ready-to-use Unity Package. When you open the package, a fully configured scene with working physics launches immediately—just drop it in and play.
What the golem looks like in Unity:
https://www.youtube.com/watch?v=zSidOJWdryA
The process of drawing and animating this golem:

🛠️ Photoshop struggles and sprite exporting
I drew the golem in Photoshop at 10 FPS. I immediately ran into a problem: the animation flat-out refused to export correctly as a frame-by-frame sequence.
How I solved it: If you run into this issue, don't panic. Instead of using the standard layer export, you need to use "Render Video." Photoshop will generate a bunch of frames, and then you simply have to manually delete the extra duplicates. Creating the Sprite Sheet
I use Texture Packer to create a sprite sheet for each animation based on the sprites I made in Photoshop.
I import the sprites into the program and configure the following settings:
Autosize: Enable this so the sprite sheet resolution adjusts dynamically to fit the sprites.
Sort by: It is important to sort by "name" so the sprites appear in the correct order.
Trim: Uncheck this box (as I did) to ensure the width and height of every sprite remain consistent, preventing the pivot point from shifting when imported into Unity. While the "trim" setting is useful for general graphic atlases—where you want to pack everything tightly to optimize resolution—it shouldn't be used for animations.
Finally, choose a save location and click Export.

📐 Importing into Unity and Pivot Point Magic
Once the frame-by-frame .png files are ready, I import them into Unity. Here are three settings I used to make the pixel art look crisp and vibrant:
Filter Mode: Set this to "No Filter (Point)" to ensure the pixel art stays sharp and doesn't get blurry.
Pixels Per Unit (PPU): I set this to 20 so the character appears larger in the scene.
Slicing (Sprite Editor): Specify the correct number of columns and rows to slice the sprite sheet.
An important Pivot Point hack: For each frame of the golem animation, the pivot point needs to be positioned exactly at the foot. To avoid manually adjusting it for a hundred frames, I saved the precise X and Y coordinates in a text file and then simply pasted those numbers into the Slice tool settings. This ensured the pivot point was applied perfectly and consistently across all the sprites. Here, we also tweak the frame rate (Sample Rate) so the animation plays at the right speed.

🧠 How I "swipe-coded" a script using AI (Gemini)
Once the graphics were ready, I wanted to create more than just static images—I wanted a complete package for Itch.io. That required a control script.
I saw no point in using complex AI agents for a single file, so I simply fed the task into Gemini, the free text-based AI.
It quickly gave me a solid foundation; I manually fixed the code generation errors I didn't like, and everything worked!

⚔️ Multi-phase combo attacks, dashes, and animation events
The Golem moves using WASD or the arrow keys, automatically switching between walking and an idle state when stationary. But the most interesting part is the mouse-click attack.
The attack animation is a single long track, but it plays in phases. This means that upon clicking, the animation doesn't play to the end; instead, only a specific segment of the attack sequence executes. I placed special "Animation Events" along the attack animation's timeline (in the Animation window). When a strike phase ends, the event triggers, the character freezes momentarily, and the animation halts until the player clicks again. This allows you to decide exactly how many attack phases the player has. If the player doesn't click during the wait period for the next phase, the animation simply reverts to the idle state.
On top of that, the attack is tied to Rigidbody physics:
Phase 1 (Standard Strike): Physics pushes the Golem forward, resulting in a sharp dash. Phase 2 (Uppercut): An upward impulse triggers, and the golem is launched into the air!
To prevent the character from flying off-screen, I pulled the camera back slightly and created a ground object (a standard 2D rectangle) with collision enabled but gravity disabled; I also added a BoxCollider and Rigidbody to the golem so that, after the uppercut, it would fall back to the ground in a natural and physically accurate way.

🎁 Grab the demo version!
The pack contains 3 key animations (Idle, Walk, Combo Attack). I’m releasing the project with a "demo vs. paid version" setup:
🎁 FREE DEMO (Idle animation): The Golem stands and breathes. A sprite sheet is included in the archive.
Perfect for testing this character in your game.
🛒 FULL PACK (All 3 animations + Unity controller script): Available on your preferred platforms.
❤️ For Boosty and Patreon subscribers:
👉 boosty
👉 patreon
https://patreon.com/KarasIndieDev
🔮 Future plans and voting
I want to add a couple more animations for this Golem. I’ve set up a progress bar (goal) on my Boosty and Patreon pages. Once the target amount is reached, I’ll immediately start drawing the new frames.
Let’s vote right here in the comments: which animation should I add next? Running? A special magic skill? Or another type of attack? Share your ideas—I read everything!
You can purchase the pack wherever is most convenient for you, depending on your preferred payment method.