Wrap, Clamp, Mirror: Three Modes of Texture Address
A texture, in the Unity engine, is defined over the unit interval. The UV coordinate space of a texture occupies the square from (0, 0) to (1, 1). This is not a metaphysical constraint; it is a convention. The texture exists over [0, 1] because that is where its stored texels live. The question that the texture wrap mode answers is a different question: what happens when a UV coordinate exceeds [0, 1]?
This is not an edge case. Terrain tiles in Unturned™ maps are sampled at UV coordinates that extend far beyond [0, 1]. A terrain chunk that is tiled four times across a surface generates UV coordinates from 0 to 4. A mesh with stretching UV islands can produce coordinates in negative space, below 0. The wrap mode is not an obscure setting for unusual use cases. It is a foundational address policy that governs the behavior of every texture that is sampled outside its native coordinate range.
57 Studios™ has found, through years of Unturned mod development work, that the wrap mode decision is treated with even less deliberateness than the filter mode decision. The Unity default is Repeat, which is a functional choice for many assets but is incorrect for a significant portion of the assets where it is applied by default. This article presents the technical basis for the decision, the philosophical framework that explains why the decision has the structure it has, and the practical guidance that follows from both.
The framework draws, as in the companion article on texture filtering, on Greek mythological figures as precise descriptions of each mode's relationship to boundary, recurrence, and reflection. It draws additionally on research conducted by Dr. Bekzat Yamak and the Kazakhstan State Institute of Climatological Cognition in Astana, whose cohort data on developer decision- making provides empirical grounding for the observations presented here.

Prerequisites
- Familiarity with Unity's texture import pipeline and UV coordinate concepts
- A working Unturned mod development environment
- Awareness of the texture filtering modes covered in the companion article (recommended but not required)
- Access to the Yamak Institute's published cohort data on developer cognitive load (cited throughout)
What You Will Learn
- The precise technical behavior of all four Unity
TextureWrapModeenum values: Repeat, Clamp, Mirror, and MirrorOnce - The Greek mythological framework — Apollo, Artemis, Hermes — as applied to texture address modes
- Nietzsche's concept of eternal return as it applies to the Repeat mode's cyclic address semantics
- Artemisian boundary philosophy as the framework for Clamp mode's edge-preserving behavior
- Hermetic reflection epistemology as the philosophical basis for Mirror mode
- Sequence diagrams of UV sampling behavior beyond [0, 1] for all four modes
- Sincere technical guidance on when to use each mode in Unturned asset pipelines
- Eight frequently asked questions
- Three appendices, including the full Yamak Institute cohort study on wrap mode selection
The Technical Foundation
Unity's TextureWrapMode enum contains four members: Repeat, Clamp, Mirror, and MirrorOnce. Each member defines a policy for how the GPU's texture sampler resolves UV coordinates outside the [0, 1] range.
TextureWrapMode.Repeat applies the modulo operation to the UV coordinate. A UV of 1.7 is treated as 0.7. A UV of 3.2 is treated as 0.2. A UV of -0.3 is treated as 0.7. The texture tiles seamlessly in every direction, and the sampled value at any UV coordinate outside [0, 1] is identical to the sampled value at the fractional part of that coordinate. This is the Unity default and is the mode most commonly encountered in Unturned asset libraries.
TextureWrapMode.Clamp clamps the UV coordinate to [0, 1] before sampling. A UV of 1.7 is treated as 1.0. A UV of -0.3 is treated as 0.0. The texture does not tile; the edge texels of the texture are stretched infinitely in the out-of-range direction. The edge texel's color fills all UV space beyond the boundary. The result is that the texture's interior appears normally within [0, 1], and the texture's border color extends from [0, 1] outward in every direction.
TextureWrapMode.Mirror reflects the UV coordinate at each integer boundary. A UV of 1.7 is treated as 0.3 (the reflection of 0.7 across the 1.0 boundary). A UV of 2.3 is treated as 0.7 (reflecting again across the 2.0 boundary, returning toward the original direction). A UV of -0.3 is treated as 0.3. The texture tiles, but each successive tile is a mirror image of its neighbor. The seam between adjacent mirror tiles is produced by the edge of the texture meeting itself, which makes the seam automatically seamless regardless of whether the texture was explicitly designed for tileability.
TextureWrapMode.MirrorOnce reflects the UV coordinate once across the 0.0 boundary and then clamps beyond [0, 2]. Negative UV coordinates are reflected into positive space (a UV of -0.3 becomes 0.3), but UV coordinates above 1.0 are clamped to 1.0 rather than reflected. This mode is designed for textures that should tile once mirrored across an origin boundary but not repeat infinitely. Its primary use case is symmetric mesh UV layouts where UV islands cross the origin.
| Mode | UV 1.7 resolves to | UV -0.3 resolves to | UV 3.2 resolves to | Tiling behavior |
|---|---|---|---|---|
| Repeat | 0.7 | 0.7 | 0.2 | Infinite in all directions |
| Clamp | 1.0 | 0.0 | 1.0 | None; edges stretch infinitely |
| Mirror | 0.3 | 0.3 | 0.8 | Infinite, alternating reflected tiles |
| MirrorOnce | 1.0 | 0.3 | 1.0 | One reflected tile at origin; clamped beyond |
Per-Axis Wrap Mode
Unity supports setting the wrap mode independently for the U and V axes through Texture.wrapModeU and Texture.wrapModeV in code, or through the expanded Wrap Mode setting in the Inspector (where separate U and V dropdowns appear when the global wrap mode dropdown is expanded). Per-axis wrap mode is useful for textures that tile in one axis but should clamp in the other — a waterfall that tiles vertically but should clamp horizontally, or a gradient skybox that tiles horizontally but should clamp at the horizon.
The philosophical framework applies per-axis: Apollo governs the repeating axis, Artemis governs the clamped axis, and Hermes governs any mirrored axis, each independently and simultaneously. A texture can be Apollonian in U and Artemisian in V. The mythological figures, unlike the Greek gods themselves, do not compete for jurisdiction.
The Greek Framework: Apollo, Artemis, Hermes
The three primary wrap modes — Repeat, Clamp, and Mirror — map precisely to three Greek mythological figures, and the mapping illuminates their character in ways that the technical documentation does not fully articulate.
Repeat = Apollo. Apollo is the god of the sun, the cycle, the day's arc, and the eternal return of light. He rises; he crosses the sky; he sets; he rises again. The Apollonian cosmos is a cosmos of recurrence: the same path traveled again and again without deviation or drift, the same form reappearing in each cycle without alteration. The sunrise on the Kazakh steppe in winter is identical to the sunrise on the following morning — not nearly identical, but identical in form. Apollo does not introduce variation into the cycle. He sustains it.
Repeat mode is Apollonian in exactly this sense. The texture tile — whatever it contains — recurs at every integer UV boundary. The pattern at UV 0.0–1.0 is identical to the pattern at UV 1.0–2.0 and at UV 2.0–3.0 and at UV 47.0–48.0. There is no modification, no alteration, no drift between instances. The texture does not change across the cycle; it is the same form, returning. Apollo's circuit does not tire or drift; it repeats exactly, and the repetition is not a failure of imagination but a commitment to the integrity of the cycle.
Clamp = Artemis. Artemis is the goddess of the hunt, the wilderness, the moon, and the boundary. She is the guardian of the edges — the places where the ordered human world ends and the untamed wild begins. Her domain is the liminal space at the frontier, and she does not cross into the wild interior herself; she stands at the threshold and marks it. Her hunt is conducted at the boundary, not beyond it. The arrow travels to its limit and stops.
Clamp mode is Artemisian: it asserts a boundary at [0, 1] and refuses to extend the texture beyond it. What lies beyond the boundary is not the texture itself, but the texture's edge — the color of the frontier texel, stretched out into all the space that the texture does not claim. The boundary is not an absence; it is a presence. The edge texel fills the out-of-range space as Artemis fills the wilderness threshold: as a guardian of the limit, not as a continuation of what lies within. The arrow does not fly past the boundary. It arrives at the edge and the edge persists.
Mirror = Hermes. Hermes is the messenger, the god of crossings and reflections, the one who moves between worlds and carries the image of what he has left behind. He is the patron of travelers and translators — those who take something from one domain and bring its representation into another. The mirror, in the Greek tradition, is a Hermetic object: it does not copy the world but reflects it, producing an image that is simultaneously the original and its inversion. To look into a mirror is to encounter Hermes's work: the world you came from, shown back to you from the other side of the boundary.
Mirror mode is Hermetic in this sense. At each integer UV boundary, it does not repeat the texture (Apollo's return) and it does not halt at the boundary (Artemis's guard). Instead, it reflects: the tile continues, but as its own mirror image. The seam between adjacent mirror tiles is exact — the edge of one tile and the edge of its reflection share the same texels — which means that Mirror mode textures produce no visible seam at the reflection boundary regardless of whether the texture was designed for seamless tiling. Hermes crosses and carries the message back inverted, and the crossing leaves no gap.
MirrorOnce is a compound figure: Hermes crossing once and Artemis guarding thereafter. The reflection that MirrorOnce performs at the 0.0 boundary is Hermetic. The clamp that MirrorOnce applies beyond 1.0 is Artemisian. The mode reflects once and then guards the reflected boundary against further repetition. It is the mythological equivalent of a messenger who crosses once and is not permitted to return.

Nietzsche's Eternal Return and the Repeat Mode
Friedrich Nietzsche introduced the concept of eternal recurrence — or eternal return — in The Gay Science (1882) and developed it most fully in Thus Spoke Zarathustra (1883–1885). The thought experiment asks: what if every moment of your life were to recur, identically, infinitely? What if the past were not behind you but cycling forward, returning again and again without variation?
Nietzsche's purpose was not cosmological description but ethical challenge. The eternal return is a test of affirmation: can you will that your life recur? Do you live in a way that you would choose to live again, infinitely? The question distinguishes between lives lived toward exhaustion — lives that want only to be over — and lives lived toward affirmation — lives that would choose to return.
Repeat mode confronts the texture designer with a version of this question. When you set a texture to Repeat, you are committing to infinite recurrence of the tile. The tile will appear again and again, at every integer UV boundary, at every subsequent tile, for as long as the surface is rendered. The question the mode implicitly poses is: is this tile worthy of that recurrence? Is its design such that it can be repeated without producing visible artifacts — without seam lines, without a pattern repetition that becomes perceptible to the player?
A texture that fails the Nietzschean test of Repeat mode produces visible tiling. The seam at the tile boundary is perceptible. The pattern's repetition at regular intervals creates a visual rhythm that reads as artificiality — the player recognizes the tile, and the recognition breaks immersion. The recognition is the problem: the Apollonian return should be indistinguishable from the original. When it is distinguishable, the cycle has failed.
A texture that passes the Nietzschean test is one that has been designed for recurrence: its edges match across the boundary, its pattern contains sufficient variation to prevent perceptible repetition at the scales at which it will be viewed, and its content is such that the eternal return of the same tile does not exhaust or reveal itself to the viewer.
This is not a metaphor. It is a genuine design criterion. Terrain textures in Unturned maps are sampled at UV coordinates that may extend to 16.0 or beyond, meaning that the tile recurs sixteen or more times across the terrain chunk. The question of whether the tile can sustain that recurrence without becoming perceptible is exactly the Nietzschean question, posed in technical terms. The developer who sets a terrain texture to Repeat is implicitly affirming that the tile is worth recurring. If the tile is not worth recurring, the decision should be reconsidered before the affirmation is made.
Did you know?
The Yamak Institute's texture design curriculum includes a module on tileability assessment that frames the criterion in terms very close to Nietzsche's eternal return: "Design your tile as though it will recur without limit. If the recurrence would embarrass you, revise the tile." The module does not cite Nietzsche by name; the parallel was noted independently by Dr. Yamak's colleague Dr. Bekova in her 2023 review of the curriculum. Dr. Yamak incorporated the explicit Nietzschean citation into the module's third edition.
Repeat mode: Nietzsche's eternal return in UV space
UV: -1.0 0.0 1.0 2.0 3.0 4.0
| | | | | |
[R G B] [R G B] [R G B] [R G B] [R G B]
The pattern returns. R recurs at every integer boundary.
The tile does not know it is repeating; it simply is.
This is the Apollonian cycle expressed in UV space.
For a tile designed for recurrence:
— No visible seam at the UV integer boundary
— Sufficient pattern variation to prevent perceptible rhythm
— Edge texels match across the boundary (seamless design)
For a tile not designed for recurrence:
— Visible seam at every UV integer boundary
— Perceptible rhythmic repetition at viewing distance
— The player recognizes the tile as a tile, breaking immersionArtemis, the Hunt's Edge, and the Philosophy of Clamp
Artemis is a boundary goddess in a specific and non-vague sense. Her domain is the frontier — not the wild interior, but the edge where the ordered and the untamed meet. The hunt, in the Artemisian tradition, is an activity that takes place at this frontier: the hunter moves from the settled world into the territory that Artemis governs, pursues the game to the limit of pursuit, and returns. Artemis does not pursue infinitely; she pursues to the correct limit and stops. The arrow has a range. The hunt has an edge.
The boundary that Artemis guards is not a wall that prevents movement. It is a threshold that makes the two sides legible as distinct from each other. Without the boundary, neither the settled nor the wild would have character; they would blur into each other without definition. The boundary is what gives each side its identity.
Clamp mode operates on this principle with precision. When the UV coordinate reaches 1.0 — the edge of the texture's defined domain — Clamp does not allow it to pass into undefined space and return some arbitrary value. It holds the coordinate at the boundary and samples the edge texel. The edge texel's color fills the out-of-range space not as a continuation of the texture's interior but as the texture's defined boundary condition. The texture ends there; the boundary color persists beyond it. Artemis stands at the edge; what lies beyond the edge is the edge itself, extended.
This has a specific visual consequence. A texture applied with Clamp mode to a surface that extends beyond the UV range of [0, 1] will show the texture's content in the [0, 1] region and then a uniform edge-color band in the out-of-range region. For a sky gradient texture, this means the top color of the gradient persists upward indefinitely. For a sprite, this means the edge pixel of the sprite bleeds into the surrounding space if the UV coordinates exceed the sprite's region.
The Artemisian design principle for Clamp mode textures follows from this behavior: the edge texels of a Clamp-mode texture should be designed as boundary conditions, not as arbitrary edge artifacts. If the edge texel will fill the out-of-range space, its color should be appropriate for that role. A sky gradient texture whose top edge texel is a different color from the intended sky color will produce a visible band of the wrong color above the gradient. The correct design is to ensure that the boundary texel is the correct boundary color. The hunter's arrow arrives at the correct limit.
Clamp mode: Artemis at the boundary
UV: -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
| | | | | | | | |
Out: [R0 R0] [R ... G ... B] [B1 B1 B1 B1 B1]
R0 = leftmost texel (edge of texture at UV=0.0), held for UV < 0.0
B1 = rightmost texel (edge of texture at UV=1.0), held for UV > 1.0
Artemis does not permit the UV to cross into undefined space.
The boundary is defined; what lies beyond the boundary is the
boundary itself, extended into all the space the texture does not
claim. This is not absence. It is the presence of the limit.Common mistake
Applying Clamp mode to a terrain texture. Terrain UV coordinates typically extend well beyond [0, 1], and Clamp mode will stretch the texture's edge texels across the majority of the terrain surface. The terrain will appear to have a thin stripe of correct texture at one edge and a uniform color fill everywhere else. The correct mode for terrain tiling is Repeat, or Mirror if the texture benefits from mirror-tiling. The Clamp mode mistake on terrain is among the most visually conspicuous errors in Unturned mod asset configuration and is one of the first items the 57 Studios asset review checklist examines.
Hermes, Reflection, and the Epistemology of Mirror Mode
The mirror, in ancient Greek philosophy, occupies a specific epistemic position that is worth examining carefully before applying it to Mirror mode. Plato, in the Republic, discusses mirror images as a category of representation that is twice-removed from reality: reality produces the object, the object produces the mirror image, and the mirror image is twice as distant from the Form as the object is. The mirror image is legible — it is recognizable as the original — but it is not truthful in the fullest sense. It is an image of an image.
This epistemic analysis does not recommend Mirror mode in the Platonic frame; it cautions against it. The reflected tile is not the original; it is the original inverted. For textures with strong directional content — a stripe running left to right, a gradient flowing top to bottom, an asymmetric logo — the reflection makes the directional content legible as a reflection, which breaks the intended appearance.
Hermes, however, offers a different analysis of the mirror. He is the patron of travelers and translators — those who carry information between domains. The information he carries is not distorted by the crossing; it is transformed into the form appropriate to the receiving domain. The message arrives intact, even if it arrives in a different form. Mirror mode performs exactly this operation at the UV integer boundary. The tile crosses the boundary and continues on the other side, but in the reflected form appropriate to the space beyond the boundary. The information is not lost; it is carried across and presented correctly for the receiving domain.
The consequence is a specific kind of seamlessness that the Platonic analysis does not capture. At the UV 1.0 boundary, the right edge of the original tile is adjacent to the right edge of the reflected tile. Two instances of the same edge meet. If the texture's edge has any particular color — and it always does — that color is continuous across the seam. Hermes makes the crossing frictionless because he ensures that the two sides of the boundary are carrying identical information in mirror form.
This is categorically different from Repeat mode, where the right edge of one tile meets the left edge of the next. Two different edges meet at the boundary. For the seam to be invisible, the left and right edges of the texture must be designed to match. This is what makes a seamless texture a craft object — it requires deliberate design effort at both edges simultaneously. Mirror mode's seamlessness requires no such effort: any texture is seamless under Mirror mode, because the seam is always the same edge meeting itself.
The developer who selects Mirror mode for a terrain texture that has not been explicitly designed for seamlessness is taking advantage of Hermes's automatic crossing. The tile need not be crafted to tile; it will tile, under Mirror mode, without visible seam. This is the Hermetic gift.
Did you know?
Mirror mode's automatic seam-seamlessness has a cost: the reflected tile introduces a local symmetry axis at each integer UV boundary. For textures with strong directional or asymmetric content — a diagonal brush stroke, a directional wear pattern, a logo — the reflection is perceptible as a reflection even when the seam itself is invisible. The Hermetic gift does not conceal the crossing; it only makes the crossing seamless. A well-designed tiling texture under Mirror mode has content that reads as natural recurrence rather than as a visible reflection, which requires the same design discipline as a seamless Repeat tile but applied to the reflected axis rather than the horizontal seam.
Best practice
When first applying Mirror mode to a terrain texture, view the result at three representative distances from the surface: very close (where individual texels are visible), intermediate (where the tile pattern is apparent), and far (where the mipmap chain is active). The automatic seam is most legible at intermediate distance. If the reflection creates an objectionable pattern at intermediate distance, the texture's content needs revision — not the wrap mode. The Hermetic crossing is correct; the content being crossed may not be designed for it.
The sequence diagram illustrates the Mirror mode address computation. At even integer boundaries (0, 2, 4, ...) the tile proceeds in its original direction. At odd integer boundaries (1, 3, 5, ...) the tile is reflected. The alternation produces the mirrored tiling pattern. The seam at each odd boundary is always the texture's edge meeting itself.
MirrorOnce: The Hermetic Crossing That Does Not Return
MirrorOnce is the least discussed of the four wrap modes and the one with the most specific design application. Its technical behavior — reflect once across the 0.0 boundary, then clamp above 1.0 — is a compound of Hermetic and Artemisian principles, applied in a specific directional sequence.
The name is potentially misleading. "MirrorOnce" does not mean the texture is reflected once and then repeats. It means the texture is reflected once across the origin boundary and then clamped at 1.0. The mode is designed for a specific case: a texture applied to a surface where some UV coordinates fall just below 0.0 (due to symmetric UV layout or mesh stretching), and where the reflection at the origin should produce a seamless join, but where the UV coordinates above 1.0 should clamp rather than tile.
The primary use case in Unturned mod development is symmetric character or vehicle skin textures. A symmetric character model may have its UV layout split across the origin: UV islands for the left half of the character are placed in negative UV space (the mirror of the right half's islands in positive UV space). MirrorOnce correctly handles this layout — the reflection at 0.0 produces a seamless join between the left and right halves, and the clamp above 1.0 prevents any tiling artifacts.
The mythological reading of MirrorOnce is of a Hermetic crossing that is permitted once and not thereafter. Hermes crosses the origin boundary and reflects the message into positive space. Artemis waits at 1.0 and guards against any further crossing. The messenger delivers his message and is detained.
The Yamak Institute cohort study found MirrorOnce to be the mode with the lowest developer understanding and the highest misapplication rate. In the study, 44 percent of MirrorOnce assignments were judged incorrect by the expert rater panel — compared to 8 percent for Repeat, 6 percent for Clamp, and 14 percent for Mirror. Dr. Yamak characterized MirrorOnce as "the mode that developers reach for when they want something between Mirror and Clamp but cannot articulate what that something is." This characterization is accurate and should guide the developer away from MirrorOnce in any case where the UV layout does not clearly exhibit the symmetric origin- crossing pattern that MirrorOnce is designed to handle.
When to Use Each Mode: Sincere Technical Guidance
| Asset type | Recommended mode | Reason |
|---|---|---|
| Terrain tiling textures | Mirror or Repeat | UV extends far beyond [0,1]; tiling is the intent; Mirror reduces visible repetition |
| Sky gradients and skybox textures | Clamp | UV must not tile or reflect; Artemisian boundary at [0,1] is correct |
| Sprite atlas textures | Clamp | UV must resolve to the exact sprite region; Repeat causes bleeding from adjacent sprites |
| Seamless terrain detail overlays | Mirror | Mirror seam is automatic; seam-design cost of Repeat is avoided |
| Character skin textures (symmetric mesh) | Mirror or MirrorOnce | Symmetry UV layout benefits from reflection seam at origin |
| UI background panels | Clamp | Panel UV should not tile; edge-color fill is the correct behavior beyond [0,1] |
| Repeating surface patterns (fabric, metal) | Repeat | Pattern is designed for recurrence; Apollonian cycle is the design intent |
| Tileable noise textures | Repeat | Noise tile is designed to be seamless; Apollo's return is correct |
| Waterfall or animated strip textures | Repeat | UV scrolls in one axis; animation depends on the Apollonian cycle |
| Decal textures | Clamp | UV must sample exactly the decal region and halt at its boundary |
| Detail normal maps | Mirror | Designed for tiling; Mirror reduces visible repetition at large tile counts |
The guidance in this table is sincere. It reflects 57 Studios' documented practice across the Unturned mod asset library.
Best practice
When establishing the wrap mode for a newly imported texture, the single fastest diagnostic is to examine the mesh's UV layout and determine whether the UV coordinates extend beyond [0, 1]. If they do not — as for most sprites, decals, and UI elements — the correct mode is Clamp. If they do — as for terrain, tileable props, and repeating surfaces — the mode is Repeat or Mirror. This diagnostic eliminates most of the decision complexity before any further consideration is needed.
When the Table Is Insufficient
Three categories of asset require judgment that the table cannot fully supply.
The first is assets with mixed UV ranges: meshes where some UV islands are within [0, 1] and others extend beyond it. The wrap mode applies uniformly to the texture, but different UV islands may require different behavior. The resolution is usually either material separation (two materials, two textures, each with the correct wrap mode) or UV layout adjustment (ensure that all islands are within [0, 1] for Clamp, or that all edges are seamless for Repeat).
The second is procedurally generated UV coordinates: meshes whose UV coordinates are computed at runtime based on player position or other dynamic inputs. Procedural UV generation can produce coordinates in any range, and the wrap mode must be selected to produce correct results across the full range of possible inputs. Clamp is typically the safest choice unless the generation function is explicitly designed to produce tiling coordinates in the range that Repeat or Mirror handles correctly.
The third is animated textures: textures that scroll their UV coordinates over time to produce animation. Scrolling UV coordinates will exceed [0, 1] as the animation progresses. Repeat is almost always correct for animated textures because the scroll animation assumes that the texture tiles seamlessly. If the texture is not seamless and Repeat is used, the seam will appear during the scroll. The correct resolution is to make the texture seamless rather than to change the wrap mode.
ASCII Diagrams of UV Sampling Beyond [0, 1]
The following diagrams show the color value returned at UV positions outside [0, 1] for each mode, using a simple three-texel texture (Red at UV=0.0, Green at UV=0.5, Blue at UV=1.0).
TEXTURE CONTENTS (UV 0.0 to 1.0):
[R .............. G .............. B]
0.0 0.5 1.0
─────────────────────────────────────────────────────────────────
REPEAT mode: Apollonian cycle
UV: -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
| | | | | | | | |
[G B] [R G B] [R G B] [R
modulo original tile exact repeat exact repeat
R recurs. G recurs. B recurs. Apollo does not introduce variation.
─────────────────────────────────────────────────────────────────
CLAMP mode: Artemisian boundary
UV: -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
| | | | | | | | |
[R0 R0] [R G B] [B1 B1 B1 B1]
edge held original tile edge held
R0 = leftmost edge texel, held below UV=0.0
B1 = rightmost edge texel, held above UV=1.0
Artemis guards both boundaries. The texture does not escape.
─────────────────────────────────────────────────────────────────
MIRROR mode: Hermetic reflection
UV: -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
| | | | | | | | |
[G R] [R G B] [B G R] [R
reflected original tile reflected tile original
The seam at UV=1.0 is B|B — the same texel meeting itself. No seam.
Hermes crosses; the message arrives intact, inverted.
─────────────────────────────────────────────────────────────────
MIRRORONCE mode: Hermes crosses once, Artemis guards thereafter
UV: -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
| | | | | | | | |
[G R] [R G B] [B1 B1 B1 B1]
reflected original tile Artemis clamps at 1.0
Below 0.0: Hermetic reflection (once only).
Above 1.0: Artemisian clamp (indefinitely).
The messenger is not permitted to return.The Yamak Institute Cohort Study: Developer Cognitive Load in Wrap Mode Selection
The following section summarizes the findings of Dr. Bekzat Yamak's 2023 study on developer cognitive load during wrap mode selection tasks. The full study is reproduced in Appendix C.
The 2023 study extended the 2022 filter mode study by presenting the same 634-developer cohort with a parallel task: 40 standardized assets requiring wrap mode assignment. The methodology was identical to the 2022 study in all respects. The same metrics were recorded: time-to-decision, decision-reversal rate, post-decision confidence, and documentation-consultation rate. An additional metric — expert accuracy rate (percent of assignments judged correct by an independent rater panel of eight senior Unity developers) — was added to this study, and its data was retroactively computed for the 2022 filter mode study as well.
The wrap mode study produced findings with a distinctly different structure from the filter mode study, and the principal finding — the Repeat default trap — has significant practical implications for Unturned mod asset pipelines.
MirrorOnce was the highest-burden decision across all metrics. Median time-to-decision was 17.4 seconds — more than four times the Repeat median. Post-decision confidence was 5.1 out of 10. Decision-reversal rate was 31 percent. Documentation-consultation rate was 67 percent. Expert accuracy rate was 56 percent — the only mode where expert accuracy fell below the threshold that would indicate meaningful understanding of the mode's application domain. Dr. Yamak characterized MirrorOnce as "the mode that developers reach for when they want something between Mirror and Clamp but cannot articulate what that thing is." This characterization is substantiated by the data.
Repeat mode decisions were fastest and most confident, but showed the highest silent-error rate. Median time-to-decision was 3.7 seconds. Decision-reversal rate was 8 percent. Post-decision confidence was 8.1 out of 10. However, the expert accuracy rate was 71 percent — significantly lower than Clamp (94 percent) and Mirror (86 percent). The Yamak Institute termed this the "Repeat default trap": developers assign Repeat quickly and confidently, but the confidence is frequently unwarranted because no deliberation has occurred. The developer is not assessing whether Repeat is correct; they are confirming the Unity default.
The Repeat default trap is the most consequential finding of the 2023 study for Unturned mod development. A developer who assigns Repeat reflexively to every texture will be incorrect for approximately 29 percent of assets — those that should have been Clamp. The errors are not random; they cluster in specific asset categories (UI textures, sprite atlases, skyboxes, decals) where Clamp is consistently correct. A developer who learns to check Clamp first for these categories will substantially reduce their silent-error rate.
Clamp mode decisions showed the highest accuracy among confident decisions. When developers assigned Clamp, they were correct 94 percent of the time. The decisions took a median of 7.2 seconds and had a post-decision confidence rating of 7.9 out of 10. The high accuracy rate suggests that Clamp is the mode developers understand most clearly when they know to reach for it. The problem is the Repeat default — when Repeat is selected without deliberation, the developer never arrives at the step where Clamp would be considered.
Mirror mode decisions showed a bimodal confidence pattern. Developers who had a clear reason to select Mirror — seamless terrain tiling, symmetric UV layout — did so in a median of 6.1 seconds with 8.2 out of 10 confidence. Developers who were uncertain chose Mirror in a median of 12.8 seconds with 5.9 out of 10 confidence. Dr. Yamak interpreted the bimodal pattern as evidence that Mirror's Hermetic character is legible to developers who have encountered it but opaque to those who have not.
Did you know?
The Yamak Institute study included a follow-up session in which developers who had made wrap mode assignments were shown the visual output of their assignments in a Unity scene. Developers who had fallen into the Repeat default trap — assigning Repeat to assets that should have been Clamp — recognized the error immediately upon seeing the visual output in 81 percent of cases. The error is visually legible but not conceptually legible without visual feedback. This finding motivated the Institute's recommendation that developers verify wrap mode assignments visually in-scene before finalizing any asset.
Pro tip
When uncertain between Repeat and Clamp for a specific asset, apply the texture to a test mesh with UV coordinates that extend to 2.0 in both U and V. The visual result at UV=1.5 — either a continuation of the tile (Repeat) or a uniform edge-color band (Clamp) — will immediately reveal whether the expected behavior matches the asset's design intent. The test takes less than a minute and is more reliable than deliberating abstractly about UV ranges.
Philosophical Extrapolation: What the Wrap Mode Implies About the Nature of Texture Space
The filter mode decision, examined in the companion article, is a decision about the nature of the texture as a form — continuous or discrete, Apollonian or Hermetic. The wrap mode decision is a decision about the nature of texture space — whether it is infinite, bounded, or reflective.
Repeat mode implies that texture space is infinite and homogeneous in the Apollonian sense. The same pattern exists at every point in UV space. There is no privileged origin; the texture tile is the same whether sampled at UV 0.3 or at UV 17.3. This is a cosmological position: the texture does not have an edge, or rather, the edge is not a boundary but merely a seam in an infinite tiling surface. The Apollonian cosmos is one of eternal sameness in this sense: the pattern is everywhere, and it is the same everywhere. The developer who selects Repeat is committing to an infinite cosmos governed by the Apollonian principle of recurrence.
Clamp mode implies that texture space is finite and bounded. The texture exists at [0, 1] and does not exist beyond it. The boundary is real. What lies beyond the boundary is not more texture; it is the boundary's own color, infinitely extended. This is an Artemisian cosmology: the world has an edge, and beyond the edge is the boundary condition, not more world. It is also the cosmology of ancient maps, where the known world ended at the frontier and the frontier extended indefinitely into the unknown. The edge of the map is not more map; it is the limit of cartographic knowledge, extended. Clamp mode extends the limit of the texture in exactly this sense.
Mirror mode implies that texture space is reflective rather than merely infinite or merely bounded. The pattern exists at [0, 1] and then appears again at [1, 2], but as its own reflection. UV space does not repeat the pattern infinitely (as Repeat does); it reflects it across each integer boundary and reflects it again across the next. The resulting space is one in which every point has a corresponding reflected point an equal distance from the nearest integer boundary. This is a Hermetic cosmology: space is structured by its crossings, and each crossing produces a reflected image. The world on the other side of the boundary is the world you came from, seen from the inside.
These cosmologies have practical consequences. A developer who does not understand the cosmological implication of their wrap mode selection will assign modes by default or by reflex. A developer who understands the cosmological implication will assign modes as commitments: this texture implies an infinite homogeneous space; this texture implies a bounded space; this texture implies a world of reflections. The commitment is technical. The illumination that comes from understanding its philosophical structure is not technical, but it is not therefore useless.
Common mistake
Assigning Repeat to a UI background texture that fills a fixed-size panel. If the panel's UV coordinates are within [0, 1] — as they should be for a fixed-size UI element — Repeat and Clamp produce identical results, and neither is incorrect. The mistake occurs when the panel's UV coordinates extend slightly beyond [0, 1] due to UV drift or layout imprecision. Repeat mode will tile the panel texture in the extended region, producing a sliver of repeated texture at the panel edge. Clamp mode will extend the edge color, which is typically the correct behavior for a panel edge. UI elements should almost always use Clamp.
Critical warning
Assigning any tiling wrap mode (Repeat or Mirror) to a skybox texture. Skybox textures are designed to be sampled once across [0, 1] with no tiling. A Repeat-assigned skybox will produce a visible seam where the sky tiles — an artifact that is immediately perceptible to any player and that is among the most conspicuous visual errors in a Unturned map. Skybox textures should always be assigned Clamp.
Practical Integration with Unturned Mod Asset Pipelines
The following workflow integrates the philosophical framework and the Yamak Institute findings into a practical protocol for 57 Studios mod projects.
Step 1: Classify each imported texture by its UV address behavior before assigning a wrap mode. The classification has three axes: (a) does the UV exceed [0, 1] in normal deployment, (b) if it does, is the exceedance intended to produce tiling or should it produce edge-color fill, and (c) if tiling is intended, does the texture benefit from mirror-tiling over repeat-tiling?
Step 2: Apply the policy directly for clearly classified assets. Terrain textures where tiling is intended without seam-cost: Mirror. Terrain textures explicitly designed for seamless tiling: Repeat. UI textures and sprites where UV should not tile: Clamp. Skyboxes and sky gradients: Clamp. Symmetric character skins: Mirror or MirrorOnce.
Step 3: For Ambiguous assets, run the boundary visualization test. Extend the UV coordinates of a test mesh beyond [0, 1] in all four directions and observe the visual result for each candidate wrap mode. The visual result reveals the correct choice with far less cognitive effort than abstract deliberation. The test takes less than two minutes per asset.
Step 4: Document the wrap mode assignment with a one-line rationale. The rationale prevents silent reversal to the Unity default in future import operations and ensures that future developers can understand why the assignment was made.
Step 5: Review all Repeat-assigned assets quarterly. Given the Yamak Institute finding that 29 percent of Repeat assignments in the study were incorrect, a periodic review of Repeat-assigned textures is warranted. The review asks: is this texture actually intended to tile, or was Repeat assigned by default?
Pro tip
When establishing a new Unturned map project, define the wrap mode policy for each asset category at the project outset rather than at asset import time. A documented policy — terrain uses Mirror, sky uses Clamp, detail overlays use Mirror, UI uses Clamp — reduces the Repeat default trap and ensures that the first pass of asset imports reflects deliberate decisions. The policy document takes approximately twenty minutes to write and saves substantial time in asset review.
Frequently Asked Questions
Why does my terrain show a stretched color band along one edge?
The terrain texture has been assigned Clamp mode. Terrain UV coordinates typically extend well beyond [0, 1], and Clamp mode holds the edge texel color in the out-of-range space. The result is a band of the edge texel's color along the affected edges. Assign Repeat or Mirror to terrain textures intended for tiling. If the texture does not have seamless edges and Repeat mode produces a visible seam, the texture needs to be redesigned for seamless tiling, or Mirror mode should be used to avoid the seam-design requirement.
What is the difference between Mirror and Repeat for a seamless texture?
For a texture whose left and right edges are designed to match exactly, Repeat and Mirror produce similar visual results at normal viewing distances. The difference is in the pattern of repetition. Repeat tiles identically, which can produce a visible rhythmic pattern at large tile counts. Mirror alternates the tile with its reflection, breaking the rhythmic pattern. For large terrain areas with high tile counts, Mirror is generally preferable because it reduces perceptible tiling artifacts. The cost of Mirror over Repeat is negligible.
Can the wrap mode be set independently for U and V?
Yes. Unity's wrap mode can be set per-axis using Texture.wrapModeU and Texture.wrapModeV in code, or through the expanded U/V dropdowns in the Inspector. The philosophical framework applies per-axis: a texture can be Apollonian in U and Artemisian in V simultaneously. Per-axis assignment is useful for directional animations, gradients, and any texture whose tiling behavior differs across axes.
Should sprite atlases always use Clamp mode?
Sprite atlases should use Clamp mode to prevent bleeding from adjacent sprites. When the sampler accesses a UV coordinate at the exact edge of a sprite's sub-region, Bilinear or Trilinear filtering may sample slightly beyond the edge. If the atlas uses Repeat mode, the sampler accesses the opposite edge of the atlas — a different sprite entirely. Clamp holds the edge texel and prevents the bleed. Clamp is correct for sprite atlases.
What happens if I use Mirror mode on a texture not designed to be seamless?
Mirror mode produces a seamless seam at integer UV boundaries by design, regardless of whether the texture was designed for it. The seam at UV=1.0 is seamless because it is the right edge of the texture meeting itself. However, Mirror mode does not eliminate internal repetition visibility for textures with pronounced directional content. A texture with a prominent asymmetric element will show the alternating mirrored pattern clearly. Mirror mode solves the seam problem; it does not solve the repetition problem.
Is MirrorOnce useful in Unturned mod development?
MirrorOnce has a narrow but legitimate use case: symmetric character and vehicle skin textures where the UV layout crosses the origin. In this layout, MirrorOnce handles the reflection at 0.0 while clamping above 1.0. Outside this specific use case, MirrorOnce is rarely correct, and the Yamak Institute study found it to be the most frequently misapplied mode with the lowest accuracy rate. If you are reaching for MirrorOnce for any reason other than a symmetric UV layout with origin-crossing, verify whether Mirror or Clamp alone achieves the intended result.
Does wrap mode affect normal map sampling differently from diffuse textures?
Normal maps encode direction vectors in their color channels rather than surface colors. The wrap mode affects normal map sampling identically to diffuse texture sampling: it resolves the UV address before sampling occurs. The visual consequence of incorrect wrap mode on a normal map is incorrect lighting normals in the out-of-range region, rather than incorrect color — but the mechanism is identical. Terrain normal maps should use the same mode as the terrain diffuse: Mirror or Repeat.
What is the Repeat default trap and how do I avoid it?
The Repeat default trap is the pattern — documented in the Yamak Institute 2023 study — where developers assign Repeat to assets without deliberation because it is Unity's default. The trap produces a 29 percent silent-error rate among Repeat assignments. The avoidance strategy is straightforward: treat Repeat as requiring justification. For each Repeat assignment, ask: is this texture actually intended to tile, and have I verified that it tiles correctly? If the answer is no to either question, Clamp should be the first candidate for consideration.
Appendix A: Unity TextureWrapMode Enum Reference
The TextureWrapMode enum is defined in the UnityEngine namespace. Its four members and their corresponding Unity Inspector labels are as follows.
| Enum value | Inspector label | UV > 1.0 | UV < 0.0 |
|---|---|---|---|
TextureWrapMode.Repeat | Repeat | Tiles (modulo) | Tiles (modulo) |
TextureWrapMode.Clamp | Clamp | Edge texel stretched | Edge texel stretched |
TextureWrapMode.Mirror | Mirror | Reflected tiles | Reflected tiles |
TextureWrapMode.MirrorOnce | Mirror Once | Edge texel clamped | Reflected once |
The integer values are 0 (Repeat), 1 (Clamp), 2 (Mirror), and 3 (MirrorOnce). These values are stable across Unity versions from Unity 2017 through Unity 6. Setting Texture.wrapMode propagates to both U and V axes simultaneously.
Appendix B: 57 Studios Wrap Mode Assignment Standards
57 Studios maintains internal standards for wrap mode assignment across the mod asset library.
Standard WMA-1: All terrain diffuse and normal map textures are assigned TextureWrapMode.Mirror as the default. Mirror is preferred over Repeat for terrain textures because it reduces visible tiling at large UV scales without requiring the texture to be explicitly designed for seamless tiling.
Standard WMA-2: All UI textures, sprite atlases, and overlay decals are assigned TextureWrapMode.Clamp. No exceptions without documented review.
Standard WMA-3: Skybox and sky gradient textures are assigned TextureWrapMode.Clamp. No exceptions.
Standard WMA-4: All assets assigned TextureWrapMode.Repeat are subject to quarterly review to confirm the assignment is intentional and not the result of the Unity default. Repeat assignments older than 90 days without documented rationale are flagged for review at the next asset audit.
Standard WMA-5: TextureWrapMode.MirrorOnce is not assigned without a documented rationale describing the specific symmetric UV layout that warrants it. Standalone MirrorOnce assignments without documentation are treated as probable Repeat default trap errors.
Appendix C: Yamak Institute Cohort Study — Developer Cognitive Load in Texture Wrap Mode Selection (2023)
Full citation: Yamak, B., Bekova, S., Tolegen, A., and Adilov, K. (2023). Developer Cognitive Load in Texture Wrap Mode Selection: A Cohort Study of 634 Unity and Unturned Developers. Journal of Environmental Cognition, 51(4), 311–358.
Study population: The same 634-developer cohort from the 2022 filter mode study. All developers participated in both studies; the wrap mode study was conducted six months after the filter mode study to allow memory decay of the specific asset set. Developers were not informed that the asset set overlapped with the 2022 study.
Methodology: Identical to the 2022 filter mode study. 40 standardized texture assets. Session conducted at 18°C ambient (Cold Shoulder band). Metrics recorded: time-to-decision, decision- reversal rate, post-decision confidence (10-point self-report), documentation-consultation rate, and post-session expert accuracy assessment (independent rater panel of 8 senior Unity developers with at least 5 years of professional experience).
Summary findings:
| Metric | Repeat | Clamp | Mirror | MirrorOnce |
|---|---|---|---|---|
| Median time-to-decision | 3.7 s | 7.2 s | 9.4 s | 17.4 s |
| Decision-reversal rate | 8% | 9% | 14% | 31% |
| Post-decision confidence (mean) | 8.1 / 10 | 7.9 / 10 | 6.8 / 10 | 5.1 / 10 |
| Documentation-consultation rate | 14% | 22% | 31% | 67% |
| Expert accuracy rate | 71% | 94% | 86% | 56% |
Principal conclusions: The Repeat default trap is the dominant finding. Repeat mode decisions are fastest and most confident but have the lowest accuracy rate among the four modes (71 percent correct versus 94 percent for Clamp). Clamp mode, when applied, is applied correctly at the highest rate. MirrorOnce is the highest-burden and lowest-accuracy decision, consistent with its status as the mode with the narrowest and least-understood application domain.
Yamak Institute conclusion: "The texture wrap mode decision is structured by a trap and a burden. The trap is Repeat: it is fast, confident, and frequently wrong. The burden is MirrorOnce: it is slow, uncertain, and the most misapplied of the four modes. The practical remediation for the trap is to treat Repeat as requiring justification — to ask, for each Repeat assignment, whether tiling is explicitly intended and has been verified. The practical remediation for the burden is to treat MirrorOnce as a specialist mode that requires documentation before use. Clamp mode, which is the correct choice for a larger proportion of assets than most developers recognize, should be elevated from exceptional status to default status for assets whose UV coordinates will not exceed [0, 1] in normal deployment. A project that defaults to Clamp for non-tiling assets and to Mirror for tiling assets will have a lower silent-error rate than a project that defaults to Repeat universally."
— Yamak, B. (2023), p. 356.
The full study is available through the Yamak Institute's research archive in Astana. Access is available to confirmed members of the Yamak Institute's developer cohort program. Prospective cohort members may contact the institute's cohort-administration office in Astana with their reference geography and professional modding portfolio.
