A downloadable game for Windows

Buy Now$5.00 USD or more

Endless hats abound in Ultra Hat Dimension, a whimsical puzzle game where you are a protagonist that literally wears many different hats. Explore through the levels of the majestic Spluff Palace to find and defeat your arch-nemesis!

Now available for Windows. Buy it or try the free demo!


  • Four kinds of adorably pixeled hats!
  • Custom map support!
  • Punch people backwards!
  • Charming music!
  • An epic puzzley boss battle!


More information

Published327 days ago
Tags2D, 8-bit, Cute, Female Protagonist, hats, Level Editor, Moddable, Pixel Art, Singleplayer, Turn-based
Average durationAbout a half-hour
Player countSingleplayer


Buy Now$5.00 USD or more

In order to download this game you must purchase it at or above the minimum price of $5.00 USD. You will get access to the following files:

UHD_Setup_130.exe 28 MB
UHD_Portable_130.zip 27 MB
UHD Map Editing Guide 1.3.pdf 725 kB

Download demo

UHD_Demo_Setup_130.exe (16 MB)
UHD_Demo_Portable_130.zip (16 MB)


Log in with your itch.io account to leave a comment.

(Edited 1 time)


The game is fun.

Do you know a way to play with a controller (JoyToKey doesn't seem to work)?

Glad you're enjoying the game! We don't have any plans to add gamepad support at this time though, sorry.

No problem, thanks for your answer.

Hi! This looks really cool but it keeps crashing on my laptop when I try to go into options :/ I've tried both versions and even fiddled a bit with the config (no idea what I'm doing).

My screen resolution is 3200x1800 so I imagine this could cause some trouble. The window is tiny so I wanted to set it fullscreen.

This is the content of the crash log:
[03/01/2016 23:09:41]
System.DivideByZeroException: Attempting to divide by zero.
ved LD32.TileBgScene.RenderBackground(SpriteBatch batch, TimeSpan time, Int32 width, Int32 height, Boolean updateOnly)
ved LD32.Options.Render(SpriteBatch batch, TimeSpan time)
ved LD32.Game.Render(SpriteBatch batch, TimeSpan gameTime, TimeSpan elapsed)
ved LD32.Container.Render(TimeSpan gameTime, TimeSpan elapsed)
ved Franca.MainLoop.Tick(TimeSpan time)
ved Franca.MainLoop.Run()
ved Franca.MainLoop.Start()
ved Franca.GameContainer.Run()
ved LD32.Program.FrancaRun()

And I tried setting a lower screen resolution, but no luck.


That sounds like it should be fixable. I'm sick right now but I'll look at it as soon as I can and get back to you on here.

Thanks for replying. Get well soon :)

DUDE! I haven't tried this yet, but it looks gorgeuos!!!

Thanks! It wouldn't be a game about adorable hats if it weren't adorable, am I right?