[UV Packmaster] Efficient UV packing solution for Blender (C++ based, multithreaded)

Yup, been using the latest UV Packmaster in Blender 3.0.0 for a couple of weeks now, works pretty damned great. :grinning:

Dear UVPackmaster users

One of the features of the upcoming packer major releases will be a complete UI rework. So who can give us better ideas for how we should redesign the UI than you: the users? :slight_smile:

That’s the reason why I would like to ask you for feedback regarding the packer UI in Blender: what works well for you in the current UI? What would you change and how would you change it? The more details you give, the better.

Also, if you have an idea for a new packer functionality, mode of operation, it is a good moment to share it with us.

For convenience please send feedback to [email protected]

Users who send us the most valuable feedback will be kindly asked to participate in beta tests of the upcoming major release. Yes - the general scope of changes in the packer architecture is going to be so wide that it will require some beta testing. And I can’t wait for the moment when I can share more details about changes to come :slight_smile:


Awesome! I sent you some notes/ideas. Thank you for such an amazing addon! I’m very exicted for the future :slight_smile:

Even better???

Thank you!

Yes, definitely :slight_smile:


Guys, when a dev is as hard-working and dedicated as glukoz, and especially when their product is this damn good, we as users/customers should really make an effort to reward that hard work and dedication. I personally am going to try to evangelize UVPackmaster with my limited free time, similar to my spreading of the good word for B-Renderon and E-Cycles. When I like something a lot, I definitely let others know about it, when I can. I encourage you guys to do the same for glukoz. He has certainly earned it at this point! And not just here on blenderartists or game dev related sites… Every single person who uses blender and exports glTF/glb for WebGL should absolutely have UVPM! Next time I am on threejs forums I will try to spread the gospel there… Come on guys, lets get glukoz some more sales (even if he isn’t hurting for it)!


Thank you for your extraordinary support for this project! Such posts motivate me to work even harder :slight_smile:


Hi! Love this packer, just wanted to say I found an instance where the packer fails to do a decent packing, maybe there’s some option I don’t know, and of course there are workarounds.

This is a simple example but the problem persist with lots of islands if the 4 circles are the biggest islands. I let it iterate and didn’t get better.

It’s not a serious problem but I wonder if it could be fixed.

It seems packing by bounding box is useful sometimes hahaha Thanks for the addon!

Thank you for your feedback!

Yes, there might be rare cases where the bounding box approach would be better. Note that in your example the way to go strictly depends on the number of circles you want to pack: for 4 circles the bounding box approach is better indeed (as you have shown), but if only you were about to pack for example 2 or 5 circles, then UVP would produce a better result.

As you can see it is generally hard to tune an algorithm to produce the optimal result for every kind of input, so I simply focus on creating the algorithm which gives the optimal result in 99% of cases :slight_smile: Other 1% of cases are quite specific and easy distinguishable so one can just use the Blender native algorithm when he encounters them.


RELEASE 2.5.8 (UVPackmaster for Blender and UVPackmaster SDK - both components were updated with the same fixes and have the same version number now)

  • fix a bug in the Fixed Scale mode, when sometimes packing was stopped even if there still were islands which would fit into the packing area (this bug was recently reported by a user and fixed immediately. Remember if you believe you found a bug in UVPackmaster, do not hesitate to report it to [email protected]).

  • fix a few minor stability issues.


I’ve two questions about UV Packmaster.

What the benefit of UV Packmaster compared to the free UV Packer?

Do you charge again for version 3? Or is UV Packmaster like most Blender addons over all major versions free?

Let me list some UVPackmaster features which are not available in UV-Packer:

  • pack new islands to an existing packing (with automatic detection of optimal scale)
  • advanced UV grouping options (group automatically by misc mesh features or manually)
  • pack every to group to a separate UDIM tile or pack all groups to the same tile so that every group covers its own space in the tile
  • define not only the distance between UV islands but also the distance between UV islands and the tile borders independently
  • set rotation step independently for every UV island
  • UVPackmaster is not only a packing tool but also a tool for UV island aligning: you can automatically stack islands which are similar on the top of each other
  • lock stacked islands together (so they are not split during packing)
  • define lock groups - islands belonging to the same group will be packed together even if they are not stacked (their relative position will be maintained during packing)
  • pack also on Cuda-enabled GPUs - packs much more faster than any algorithm that runs on a CPU.
  • perform heuristic search - iterate packing on all devices in the system simultaneously (CPU and all GPUs) to find the best possible packing

Those were the main differences, I guess you could find a few more :wink: If you prefer to check more visual representations of the features mentioned above, I recommend you to look at the slide show included on our site.

Now regarding UVPackmaster 3: I haven’t decided yet whether the UVP2 → UVP3 upgrade will be free or paid but please keep in mind a few things:

  • one of our main assumptions that we follow since the beginning of the project is that even if an upgrade is paid, then the user only has to pay at most the difference between the new price and the price he already paid. So if you purchase UVP2 now, you can be sure that no a single penny you spent on it will be lost in the context of upgrading to UVP3.
  • even if the upgrade is paid, UVP2 will be maintained and kept up to date with new versions of Blender for the years to come (we definitely don’t want to force anybody to upgrade)
  • such major updates (which are possibly paid) are very rare in the project. After we do such an update to a new major version, we improve it for a long time with many non-trivial releases which are free for every user. You can check the list of all such releases which significantly improved UVP2 over time here.

hello @glukoz , is it possible to distribute UVs into separate UDIM tiles based on objects or materials, but have them keep their original position from the first tile?

I tried using packing groups to tiles, with rotation disabled, fixed scale with the different strategies, but I could not get the desired result.

See what I mean here with 3 objects:

thank you

1 Like


Such option is not currently possible, because UV packing generally involves changing island positions and UVP2 is mainly a UV packing tool, but… it might change future releases - stay tuned :wink:


One feature that I just thought about, that would be awesome, is some way to orient islands according to the mesh…

Very often, when I do an unwrap via hard edges/etc, the islands are all rotated randomly. I can do some alignment things, with Textools/etc, but they are still random.

It would be awesome if there was a way to orient islands to more closely match the mesh if at all possible. So faces that are broken up by seams/hard edges, next to each other in the mesh, are not flipped/reversed in the UV. Without having to do so much manual rotations/fixups.

Edit: Basically if a tool / button can somehow take the first image and get more like the 2nd.


I agree with you - such a feature is totally worth adding to the plugin :slight_smile:


What about colouring/metal/materials. Let’s say there are 4 materials/colouring. We could group these islands into 4 groups that have the same colouring or material.

that could work better for some people. I had thought of this a long time ago.

Hi @glukoz!
I’ve been using PRO version of the addon for some time now, and overall its great! I have one thing to report tho.
With CPU packing I can see that the threads are occupied pretty evenly across, but the average utilisation of the CPU is around 40%. I don’t know if this is a hard limitation, or just something that can be optimised further.

Hi! There is no hard limitation for CPU usage. Please send me a screenshot of the UV map and the packer options you use in that scenario to [email protected].

Exactly what I was looking and hoping for! Happy to see this idea was posted recently.
I checked lot’s of uv scripts/addons and none of them seems to support a function that orients islands according to mesh geometry in object space automatically/per click.
Would be very useful both within the packing algorithm and as a separate button to orient selected islands.

1 Like