Bug Request Join: Add option to preserve individual custom texture mappings by auto-assigning separate channels.
Old request, and the need remains important in 2025 (Rhino 8+):
Without this option, Join is effectively broken for any production workflow that requires both a single mesh (performance) and correct per-part UVs (visual quality).
When joining separate surfaces/polysurfaces that each have their own carefully adjusted custom UV mapping (different mapping types, manual unwraps, etc.), the resulting polysurface loses all individual mappings and forces a single mapping for the entire object.
This breaks workflows where different parts require different UV treatment (e.g. cylindrical vs planar vs custom unwrap) while still needing a single joined object for performance reasons.
Real-world requirement (unchanged since the join introduction):
Game export, Unreal/Unity, VR presentations ā minimum draw calls ā one joined mesh/object required
But visually correct texturing ā different UV strategies per part required
Current workarounds are painful:
Manually re-create everything after join (extremely time-consuming)
Requested solution (same as original 2019 request, still missing):
Add a simple checkbox in the Join command:
ā Preserve individual texture mappings
Automatically assigns each original mapping to a separate mapping channel in the joined polysurface and updates the material to use per-face/channel mapping
This would:
Save hours on every complex model
Make multi-channel mapping accessible to users who donāt know the advanced tricks
Keep Rhino competitive with Blender/Max/Maya/Plasticity for game/VR asset creation
Original thread (still unresolved):
Similar recent requests confirming the problem persists:
Please implement this small but high-impact option. It would be hugely appreciated by the entire real-time rendering community using Rhino.
Just a reminder of the situation. You no longer need to include the Rh track number and link to theJoin bug report. It is not helpful for us. We want to know the actual state and progress in this thread. Please keep us update.
As I understand, the Rhino Team disabled user access to YouTrack without providing a clear explanation.
Iām now unable to track the status of the ~50 bug reports (I miss Pascal) Iāve already submitted, nor to organize the remaining ~30 I still need to report (from 80, I have to guess which of them are). I need to think about how to fix this and make a big spreadsheet with links.
YouTrack wasnāt only helpful in submitting bugs ā it was essential for understanding which issues were already logged, how they progressed, and what temporary workarounds existed. Losing access means losing that transparency.
At the moment, the only way forward is for me to recreate my own āmini-YouTrackā externally, probably in a spreadsheet, just to keep things coherent. That shouldnāt be necessary.
If there is any internal workaround, alternative URL, or read-only mode that users can rely on, it would help a lot. Otherwise, weāre effectively reporting bugs blind, unable to see whether they are duplicated, fixed, or acknowledged.
Thank you, Nathan, for taking the time to read this user bug report post.
You added two Discourse links on December 29th.
You filled in the āAffected versionsā field on March 9th.
I added a link to this new thread a few minutes ago.
-wim
My frustration comes from how old/long this issue really is. Join has existed since the earliest Rhino, and from the very beginning, it has rebuilt the render meshes but never merged (destroying) the UV mappings.
So while the links were added recently (THX), the underlying bug feels like it has been with us since⦠well, letās say 1996-2003, give or take a decade.
(An [ x ] can be added to the icons of each tool that is not working completely to remind me to be careful or not use it at all.)
Bugs are like lies.
You can hide them for a while, but if theyāre not fixed, they keep coming back, eating stronger.
Coming from Alias (90s), where visual precision is everything, I noticed this behavior in Join from the moment it was introduced.
And the truth is: this type of bug is like a parachute that doesnāt open.
The customer doesnāt come back to complain. They simply never return.
Iām just trying to survive here, being persistent.
I canāt imagine how many potential users Rhino has silently lost over the decades because surface continuity and UV integrity shape the very first impression of quality. And now that rendering is everywhere {fast, accessible, unavoidable }, issues like this can no longer be hidden behind workflow complexity.
Fixing _Join isnāt just maintenance; it is making this tool finally truly available.