Union Bytes Painter
A downloadable tool for Windows and Linux
Union Bytes Painter is a pixel art designing tool written in Godot and C#. It is similar to common applications such as Substance Painter.
Union Bytes Painter allows the creation of 2D sprite and low res textures with color, normal, height, roughness, and metallic maps. Sprites and textures can be edited using multi-channel mode in the 2D or 3D space.
Further tools like filters and baking can be used, to finalize your artwork with details like ambient occlusion.
What is Union Bytes Painter NOT:
- It is no substitution for Substance Painter or Blender
- It is not suitable for high resolution textures (Texture limit is 512 x 512)
- It is no model editor
Demo
In this Demo it is not possible to save the Project, but it contains all other features. Please test it on your system before purchasing, to check the performance and find out it suits for your purpose or not. This helps to reduce the refund amount!
If you are a Linux \ x11 user, please especially test the Linux demo before buying. I can only test on Ubuntu 22.04 LTS.
System requirements
Windows 64 bit or Linux 64 bit (Tested with Ubuntu 22.04 LTS)
Min. 8 GB RAM
Dedicated Graphics Card with OpenGl 3.3 or later Support
Microsoft .NET Framework 4.7.2 or later
CPU with min. 4 Cores / 4 Threads
Status | Released |
Category | Tool |
Platforms | Windows, Linux |
Rating | Rated 4.8 out of 5 stars (20 total ratings) |
Author | UnionBytes |
Made with | Godot |
Tags | 3D, Godot, indi, painter, pixel, Pixel Art, software, substance-painter, tool |
Asset license | Creative Commons Attribution_NonCommercial v4.0 International |
Average session | A few seconds |
Languages | English |
Links | Homepage |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $12 USD. You will get access to the following files:
Download demo
Development log
- WTF happened to Godot? AND Future of Union Bytes Painter!53 days ago
- Where the hell is the next update?Jul 09, 2023
- Update v0.672 (2022-11-27)Nov 27, 2022
- Update v0.626 (2022-10-16)Oct 16, 2022
- Update v0.614 (2022-10-08)Oct 08, 2022
- Update v0.405 (2022-04-21)Apr 21, 2022
- Update v0.402 (2022-04-18)Apr 18, 2022
- Update v0.324 (2022-03-26)Mar 26, 2022
Comments
Log in with itch.io to leave a comment.
Does it support importing and exporting as fbx or glb?
No, sorry. You need to take the extra Step, by exporting it to obj.
Kind Regards
Union Bytes
hardcrashes when I'm attempting to import a low-poly obj :(
not sure how to troubleshoot.
Mhh, must be a problem with the exported obj. file. Can you send me the obj file to [email protected]. I will look at the weekend on it. Do you export it with Blender?
Kind regards
Union Bytes
Thanks for gettin' back to me!
I was able to resolve the issue today, confirmed it was an issue with my obj export. I'll send both the OBJ's along if you're curious to compare them. They're exported from Maya (I think the issue was an unexpected type of material/shader).
The software is still in development, I mean: Are the developers alive?
They're alive, but not currently working on it. That said, the program does work pretty well in the current version.
Is this program still being worked on?
Read development vlog: Where the hell is next update?
btw. bought it few days ago, working on mac through wine. No problems. All functionality is working and no bugs so far. Go for it!
hey! can you tell me how you got this to work with wine? any special settings? just tried to open the .exe but it only keeps showing the godot engine logo.
I got it working through Crossover 24.0 with Wine 9.0, using standart win10 64bit bottle and disabled high resolution mode. I had to move the folder to bottle location and I remember to have some trouble to make the crossover register .exe file, so the exe file showed correctly in Crossover/MacOS Applications so i did not had to open crossover each time when I wanted to launch the UBP. Also DXVK, Esync, Msync disabled. Hope this helps!
Gonna try that out as soon as I find the time. Thank you for the detailed explanation!
Does this program let you select faces and only paint within those faces?
More or less, yes.
You can select Faces-\UV-Islands with the Selection tool to draw only on this one. But single faces are not, you just have to use the normal rectangle selection tool.
Thx for the response! That should be good, thank you.
I played around using demo but I’m pretty new to texturing. Can you guys suggest me a tutorial series? or how to learn this tool?
I really like this program and it's my go to for painting. Do you know if you can export a version that can run on arm linux? I'm trying to get it running off an orange pi 5. For a bit it was running through box64 but has started to crash whenever I start it.
Is there going to be more updates in the future?
Hi, mhh … yes, I hope in the far to midterm future. But currently I’m busy with my family. But at least I want to fix the bugs
Hey, just wanted to say I checked this out on my stream yesterday. UI seems very clean and polished so far! I'm sure there's a million things you want to add, but one thing I would really love is the ability to have fill layers with masks, so it's easy to change the entire material of certain aspects of something. That's my typical workflow with Substance: set the color, roughness, etc. for the whole layer then mask off the areas that should use those values.
I did run into a bug when I was trying to rectangle select with shift held to select multiple areas. It kept failing to select a certain area, then when it finally did, the fill tool failed to fill that area, like the visual didn't match with what was actually selected.
I also struggled to zoom in far enough, but later discovered it was possible to scale the model. Might be useful to allow more zoom by default.
I know sometimes it's useful to see somebody else using your stuff, so here's the Twitch VOD of my development stream. It'll only be around for a couple weeks:
https://www.twitch.tv/videos/1917332892 I start using Union Bytes Painter at around 2h23m
Hello,
I will happily watch you stream on the weekend and looking forward to it. It’s always nice to see other people use the software.
I also planned to do tutorials, but I don’t like my voice ^^ and I'm never alone at home, so it's allays noisy. But I really need to make some, because It looks like a lot of people can’t find all features. And I want to have tutorials to give the people a feeling for the workflow, how I made my stuff. Like the creating and useful using of own decals. etc.
So thank you very much, for purchasing it and showing it in your stream.
Hi there! I've been having a small issue with the unlit view. It seems UBP transforms the color unpredictably between the texture and the rendered model.
This isn't a complete blocker, as colors seem to be relatively accurate when using the lit view, but the lighting can sometimes obscure details I'd like to work on.
(Also, for anybody who comes to the comments looking for a fix for color accuracy issues - I was having issues getting accurate color picks from the eyedropper until I switched the color picker to raw RGB values and the texture to "Color" mode rather than "Full." Now it works great!)
Hi,
yes the problem I know, this is kind of GODOT problem.
The same problem I have with the brush preview, so tricked a bit around in the preview shader to get as close as possible.
But, thank you very much for the hint, to solve the problem you described. It will help me and a lot of other peoples
Just a heads up -- I don't think importing .ase color palettes works. For some reason I can only import .gpl
Not a huge deal, but a mild inconvenience for sure.
Thank you very much for reporting the bug. I need to have a look into it, as soon I will have time for it.
Hi, just curious, do you plan to release the software also on steam at some point?
Hi, sorry for the late answer.
Maybe when it's finished, but currently not
Seems the tool got some update that make it always get stuck on loading.
I installed my graphics drivers and now work.
:O
Hi, thank you for the feedback.
FIXED
Changing the Mesh Scale in the Project Settings changes the pivot point of the mesh, so the camera does not turn around the original mesh.Reseting the camera will not reset to the pivot point of the mesh, you will still cycle around an empty point in space
Oh, I will look into it.
Thank you for reporting the bug.
Hey, there just realized, that this "bug" wasnt a bug. When exporting my meshes my piviot point got changed, and because of that it was not centered anymore.
So thers no bug.
Thanks for your work and this program ! <3
Hello, I bought this quite a while ago and have only recently been using this so I wanted to say thank you for developing this software. It's been really cool getting my low poly models to pop out significantly in comparison to the usual 3d software, especially due to the more focused attention on texturing in pixel art fashion as opposed to the usual 3d texturing one would expect.
So far, I have been having a good time and ease with working with this so far. I still need to master the layering aspect to maximize the emissions and metallic functions of the textures I want but it's much easier and has been ironically helpful in understanding the way texturing 3D models work.
I am hoping to work with 512 x 512 textures, however, I don't know how to get pass this small restriction of 128 x 128. Regardless of this I have been able to get much needed quality low poly textures for the projects I wanted to work on (especially the emissions and metallic maps, that is something I highly appreciate as an individual who only recently got into texturing models, I feel like a master now!)
Hope to hear from you soon in regards to an update, this has been a much more exciting endeavor for me who admittedly is a novice. The results thus far have been phenomenal and make workflows that were once tedious that much shorter and more fun in terms of experimentation.
I can surely say that I recommend this for newbies and pro indie game developers alike.
Hi,
Omg, now it's getting really embarrassing, I have to first sincerely apologize for this very, very late answer.
Well, I'm really sorry.
You can work with textures up to 512 x 512 this is the maximum resolution but it’s possible.
Thank you very much.
Kind Regards.
Hello there, I understand that you've been busy with duties in real life on top of working on your own projects. There is no need to apologize.
Thank you for clarifying the maximum size for the textures. This will add much more detail to the models and make them really eye catching.
Since last time I commented I made a few low poly guns and even an underground mining tunnel with textures made in Union Bytes. The experimentation was fun and felt like I was in school again with how easy it was when I got used to the layout, as well as how powerful it was. I even imported it into Blender and with the textures I was able to cut down on the workflow time for my projects.
Ome again thank you so much for the response and your efforts on this powerful software.
Take care UnionBytes!
Used to work on my computer when I had Nvidia 1070. I have a Radeon 6900xt, and Godot “starts” and shows the logo, then it crashes to desktop. Sucks. I really liked the program.
Mhh I don't understand this. I extra bought a AMD Radeon RX 7600 to test it with the newest AMD Software: Adrenalin Edition for Radeon™ RX 7600 Win 11 Driver and everything works fine. I don't understand it and I cant reproduce the Error with my system. I wasted 300 € for nothing :(
Can you make some kind of debug build with automatic logging? I could test it and send the log – if there’s any info to be gained from there. I don’t really understand it myself, and I’m kind of wondering if there’s something off with my settings.
edit: I’m on Windows 10, because Microsoft doesn’t allow 11 on my computer. Not supported and whatever. I’ll have to give it a spin on Linux. New drivers, Virus, etc, all checked no go. I can also tell that older version I had on my cloud had the same issue. I can’t be sure what version it was, because I deleted it already and got the new version, thinking that the issue was old version of the software. If I had to giess, I’d say it’s the very least 1 year ago. I downloaded your first version and used it quite a bit. But I can’t remember if I updated it afterwards – then I had to concentrate on other projects.
Well, it works perfectly fine on Linux (OpenSuse Tumbleweed & Manjaro). So… yeah, OS is the issue.
Tried using the Demo, but it just crashes immediately after the Godot Splash screen, nothing in the Event Viewer and no visible logs I am aware of.
I am using an AMD Radeon RX 5700 XT and AMD Ryzen 7 3700x. I can't say why it crashes as I have more experience with Unreal Engine than Godot, but if you need someone to help test AMD, I would be willing.
Do not work under AMD Cards with new Drivers. Will there come a new Version build up on Godotengine 4?
Okay, that's bad.
I need to organize an AMD card soon, because I never heard problems with Nvidia cards which I have.
Currently I can't test it because I don't have an AMD card, I just can hope they fix this soon.
It's currently not planned to switch to Godot 4. But as soon a new Godot 3.x Version is out i will update it, in hope it will help.
It is working again with newest amd driver 23.7.1
Hello, was wondering by what you mean by "It can be unstable and mess up your files", Do you mean mess up the file I'm currently working on or all files on pc?
Hio, it was meant for the created files.
But it's just a text I found in the Internet, because it is is early access and I wanted to be safe. But the file system is finished and there a no problems.
I guess I will remove this part with the next update when I will have time.
Kind regards
Hey I was wondering if, since you added the ability to export inverted grayscales, you could also add the ability to invert channels when you import textures. Right now, if I want export a mask texture with inverted roughness, change it, and then import it back, I have to manually invert the channel in an external editor first.
It would save me some time and be really appreciate it!
Thanks again for your continued development.
Hey, great little app!
3 things:
#1 is I seem to have a weird bug where when I draw, then lift my mouse, then draw again, it draws a line that connects them. Almost like I'm pressing shift, but I'm not. And it makes any drawing impossible.
#2 is that Mirror seems to only work on the 2D screen, which makes it sort of impossible to use for me since my UVs aren't lined up that way. Is there a way/plans to have a proper 3D mirror?
#3 A small gripe, but any chance of a future FBX file type option?
Thanks, let me know!
I can confirm I also have the issue you mention in your first point. Another person mentions it further into the comments below (with a handy video). I'd love for this to be fixed because the program seems to be exactly what I'm looking for otherwise.
Hi,
thank you very much.
To #1: Yes I know this bug, but unfortunately I can’t reproduce this bug. I have 3 different Systems and on none of these systems I got the bug. It must be problem with Godot and the Event-Handling on this system. I spend already a lot of time to find the problem, but it’s hard when I can’t reproduce the bug. But I will stay on it.
To #2: The work of the Mirror (only in 2D) was on purpose. Because I thought the program is made to use just for pixel art, but if you mirror in 3D it can causes some problems with the pixel positioning \ pixel shifts.
To #3: The FBX file importer is a bit complex one. I also thought about it, but I would need to find a C# import library which is easy to implement. Also, I don’t know how it is with the licensing.
Kind regards
Hope that will help to find bug #1:
- i noticed that this bug will only appear if u try to draw directly on the 3d View of the mesh.
- if u draw on the texture view it will not appear
hope that info helps
Wow, this looks amazing!
Couldn't test it yet as a Mac user, but it looks really promising. So +1 for macOS support (I know you'd need a Mac...).
Not sure if the following already is supported, but it'd be great if the brush could be used with dithering stencils.
So one could simply paint any color with one of the 8 (or more) classic dithering patterns.
PS: Just saw it's possible to cross compile Godot apps for macOS from Linux: Link
Maybe this would be a solution?
Thank you. As soon I have some time, I will check it out. But I can't promise anything ^^ because I have also no experience with Linux. I'm already happy, that I could setup a linux pc which can run my programm :)
I'm a child of DOS and Windows (since Version 3.1)
But I will see.
hey just wanted to see if there was any progress with a mac version? i'm also on mac and would love to try the program. thanks!
Hey! I love your program. Im a little confused though. How do I render the Metallic map by itself and the Roughness map by itself? I only see options for making a Roughness Metallic Map.
Hi, thank you.
The system I made is a flexible one, like the one from Substance Painter. You can set every output channel as you like. Like in the following screenshot:
Wow thats wonderful! Thank you!
Just picked this up and enjoying it so far. One minor gripe though is the way the clear button ends up clearing all of the channels in the current layer instead of just the selected one(s). Along similar lines it would also be nice to have an option to reset the selected channels instead of completely clearing them to alpha. Like maybe having a reset button next to the clear one that instead just reverts the selected channels back to their default values. Otherwise this is quite fun to use and really looking forward to seeing what comes of it over time! Especially if/when you move it over to Godot 4+.
Thank you very much.
Yeah, the clear button was intentionally made for just clearing the whole layer. I will add a button for clearing single channels in the future.
The reset you mean for the base layer, that’s true the base layer should be reset to the base values instead to clear it. I will fix this; this is more like a bug^^.
It is not planed to move to Godot 4, they changed so much, it would take to much time to port it. Also, since the birth of my son, I don’t have so much time anymore then i thought. I will be more focusing on bug fixing, in the bit free time I have on side of my main job and family.
4 definitely takes a little bit of an adjustment period, but so far I like it quite a lot. I've mostly just been working on a choose-your-own-adventure style game and did some tests with a randomly generating endless maze demo with it so far. But I'm really liking most of the changes over all. Took a few days to figure out a lot of the changes, but it wasn't so bad after that.
Anyhow, something else I found myself really missing from my usual workflow in Krita is an alpha lock feature. Where you can click on an icon that locks the alpha values of all pixels while it is on. So this way you can define what parts should be opaque and alpha then have them stay as is while painting into the opaque parts with big messy strokes/stamps that would otherwise screw up the alpha without it. Alternatively, having a way to paint an alpha mask that is separate from the color map would accomplish pretty much the same. It could even be baked out into the alpha channel of the color map as it is now, just so long as it can be edited separately in some way.
I got issues with my app. It suddenly glitches and crashes, so I unable to used it anymore....
Not only that I already paid for this app....
Okay, thats bad.
Can you give me more informations, like your system specs and maybe a screenshot from the glitch?
Did the Demo worked? And when you say suddenly, did something happened between, like a system update or something?
Thank you
Kind regards

So I try to open the app couple of times but it didn't open and just like this.

So I try to open the app couple of times but it didn't open and just like this.
Actually I tried the early access version, not the demo.
Do your System fits the System requirements:
Windows 64 bit or Linux 64 bit (Tested with Ubuntu 22.04 LTS) Min. 8 GB RAM Dedicated Graphics Card with OpenGl 3.3 or later Support Microsoft .NET Framework 4.7.2 or later CPU with min. 4 Cores / 4 Threads?
For me important is especially the Dedicated Graphics Card.
Since your are building in Godot, is there a limiting factor preventing you from releasing a Mac OSX version?
Yes, the problem is that I don’t have an apple\mac machine. Looks like you need MacOS to compile for MacOS. And the software is not selling so good or let me say the potential on sales for it is not so big, that I can buy a Mac.
Hey I'm happy to help with that compile step. I'd like to see you succeed on all your platforms. Reach out to me directly at [email protected] if you can!
That's nice, thank you.
But I don't want to give the source code out. There is a lot of work inside and I made a few bad experiences.
I wished also it would be possible to release on all platforms. But I guess it needs to wait until I get enough money to buy a second hand one.
Hey there i have the same problem as Nomnom here is a video and some more information:
(made a new post for better visability)- could only be observed with Brush Tool
- it will only occure if u make fast strokes after one another
- if u wait 2 seconds between each strokes it will worke normaly
- only occures while painting on the mesh
Thank you. Unfortunately, I was the last 2 weeks so Ill, that it was not possible to do anything ☹.
As soon as possible I will investigate on this bug and I hope I will be able to fix it. If I can fix it, I will release a hotfix.
Hey there, no worries, don't rush it and take your time. Your health is more important :)
Hope you will get well soon.
Love UnionBytes so far thanks for all your work :) <3
This is amazing and I'm really glad I found it. The brush options you've provided are so lovely and it's really easy to do things like skin in the application.
Love that you've made this. Keep up the good work!
Hi,
thank you very much.
The color picker on the canvas [RMB] picks always the material from the current layer. If you like to like to pick from all layers you need to hold [CTRL]+[Shift] while clicking [RMB] to pick from all layers. but keep in mind, that the preview looks maybe a bit different, depending on the metallicity and roughness value.
Also, the preview looks a bit different then what you aktually draw. So, you need to draw once to see the right blending.
Hiya. Aha thanks for the tip. Obvious now you've said it. Going to edit my original post to remove that in case anyone sees it in the comment and it puts them off your work. Lovely stuff!
REPORT (using demo): It seems that while drawing, the pixels tend to randomly connect the last position and the current position across different areas only using left-click. Seems to happen less when I slightly rotate the mesh after each drawn group of pixels.
Using Windows 10, and I'm only using left-click in the gif, and middle-mouse to rotate in the second half.
I got a few people to test this issue as well, and they all reproduced it. Is this a known issue?
Hi,
thank you for the feedback. Currently, I didn't get any report for this bug, until now. I also tried to reproduce it, but I don't get it.
Mhh which tool do you use, brush or line? Can you give me the canvas size?
Mhh, I hope I can fix the problem.
Hey there, I am just using the default brush, and the default start-up scene (so 128x128 canvas).
In the gif I just place down single points randomly and it will randomly act like I dragged it. Lessens when I rotate the mesh after each drawn pixel, but then it randomly skews the "fake line".
Only happens in the mesh view, and not in the uv view.
Happens in both 0.626 and 0.672.
https://streamable.com/fnvnba (A view of the window with the default scene)
Thank you. Unfortunately, I was the last 2 weeks so Ill, that it was not possible to do anything ☹.
As soon as possible I will investigate on this bug and I hope I will be able to fix it. If I can fix it, I will release a hotfix.
I got too this issue
Updates are awesome as always!
I recently found out about a tech which uses only the R and G channels of a normal map so that stuff like smoothness can be saved in the other channels. I was wondering if you'd consider adding split channels for Normals? Right now normals can only be selected from the RGB mode, but R+G+B/+A modes could have normal map channel options like "Normal DirectX R", etc.
Thank you.
Mhh this function is rarely needed, but if I have to work on the export stuff at some point and I have time I will try to add it.
Hey there.
Receiving crashes every time I export a texture, this happens on old and new versions of the application. It use to work fine but has suddenly started crashing as soon as I select 'ok.'
Not really a bug report, just hoping I might receive some insight on my issue. This software is still relatively niche so there is little coverage on these issues out there.
Otherwise, amazing work, I love this tool!
Hi,
oh that is bad. Can you share a screenshot from the export window and the text in the Export.txt file.
Thank you. I will look into it.
I'm unable to provide the Export.txt file as it does not generate; the software crashes before it can export any textures.
Mhh okay strange, I looked into the source code but can't find any hint why this could happened.
Do you have Discord?
Can you contact me under: AiYori#6247 ?
Union Bytes Painter was also crashing for me when attempting to export a texture. I ran the program on Windows as an administrator, and it seems to have stopped crashing during export.
THANKYOU! A wonder I didn't try this already.
Hi!
Love this tool, i use it in Manjaro Linux and it works super well!
Keep up the good work!
Thank you very much :)
Hi,
how do you move layer ?
like it'll be Transform tool in Photoshop (move, rotate, scale selected layer)
Hi,
this feature is currently not in, but will come with the next big update. With the last update I made already some preparations.
But you can select a layer completely and copy it, than you will get a stamp which you can rotate and move and draw on a new layer.
So next update will be small update and finish the flow mask. But after this the layer transform will be next.
Kind regards
Hi. I'm still having a lot of fun with UB Painter.
I found one more bug: on Windows, if I press "Windows + d" to minimize all apps and show the desktop, UB Painter closes silently.
Hi,
thank you very much, for this bug report. I found the problem and fixed the error. So it will be fixed with the next update.
Thanks and please keep up with bug searching and reporting :)
Kind Regards
Hi. I love the tool!
I'm having trouble with library presets though. Whenever I click the the Save Preset Library or Load Preset Library buttons, Union Bytes Painter crashes to desktop.
I'm running the latest version on Windows.
Things I've tried with no success: 1. running as admin; 2. installing through the Itch app; 3. downloading the zip from the itch website and installing manually to a folder with full write permissions; 4. running the previous version 0.405. In this case, I could save a library preset, but trying to load it would also result in a crash.
Any ideas of what could be wrong?
Thanks
Hello,
1. Thank you very much for the bug report. Such bug reports are very important for me; sometimes I get so less bug reports that I get worry :) Really thank you.
2. Yes you are right it’s a bug. I redesigned the FileDialog and the naming and didn’t set the pointer anymore, so it was NULL. I fixed this.
3. Also, already in the older version forget to rename the function and was loading with the old file format from the start but was saving with the new one. So this was also incompatible -.-. But until now nobody reported this but. So thank you. I fixed it.
So I will need to do a few other things before releasing a new update so it will take a while, but with the next update this will be all fixed.
Kind regards
Union Bytes
Thanks for the reply.
I'm glad to know the bug report was useful!
OH GOD! I just found out about you guys and the painter!
This is perfect for my YouTube channel!
Hey, guys, I want to buy your software, but because of the sanctions I can't do this on itchio (swift and paypal transactions are both blocked). Maybe there is other ways to buy it? What about crypto? Do you have plans to sell your tool on Steam? It's the way too.
I'm sorry, but I don't want to handle crypto, so this will not be possible.
Steam takes too much money away, so if I would start now to sell it on steam, i would need to raise the price. Because the price is currently really low and after tax and paying the selling platform nearly nothing is left.
I will see, maybe when the software is more developed and I will increase the price anyway, if version 1.0 comes out, than I will also go to steam. But, currently not.
Sorry, I wished I could help you.
Hi, is there any way to increase the width/height of the UV preview. I don't see any easier way to use multiple UV set objects.
Hi,
You mean for tiling preview? You can scale the uv under file -> project settings -> uv scale.
or do you mean something different?
Just tried that out, unfortunately not. The thing im talking about is the ability to support multiple UV sets. My object in scene has 3 sets of UVs, that do display properly, since I've moved them along the U value. I've attached an image showing what I mean. I just wonder if there's a UV layering system I can make use of?
Ah okay, yes multiple UV Sets are not possible.
You will need to separate the objects into 3 models or place it on one bigger texture.
I didn’t thought it will be needed in pixel art so I didn’t implement it.