Skip to content

refactor: 2.0 foundation - #3

Merged
reromanlee merged 13 commits into
mainfrom
refactor/production-foundation
Sep 29, 2026
Merged

reromanlee merged 13 commits into
mainfrom
refactor/production-foundation

Conversation

@reromanlee

Copy link
Copy Markdown
Owner

Wireframes 2.0.0

What's new

  1. Shapes follow their bones through the package's own shader skinning instead of a SkinnedMeshRenderer, which is faster on WebGL and no longer depends on the GPU Skinning player setting.
  2. The package's material draws under the Built-in Render Pipeline, URP and HDRP, hides, shows or fades lines behind other geometry through the Occlusion setting, and draws transparent colors through UseAlpha.
  3. Containers and shapes work in Edit Mode, drawing in the Scene and Game views without ever being saved into scenes.
  4. Unity 2022.3 is supported, where 1.0 needed Unity 6.
  5. IsVisible hides a shape or a whole container without disposing it, and without allocating.
  6. WireframeContainerSettings sets a container's name, material, layer, persistence across scenes, reserved capacity, occlusion and transparency.
  7. Containers split shapes into chunks of up to 65,535 vertices with 16-bit indices, hold any number of shapes, and give memory back as shapes are disposed.
  8. container.Statistics reports shapes, vertices, edges, bones, chunks and memory without allocating, Profiler markers time each step, and Profiler counters add up every container when the com.unity.profiling.core package is installed.
  9. Server builds, missing shaders, destroyed bones and failing shapes are handled without exceptions reaching Unity's rendering, and each problem is logged once with a [Wireframes] prefix.
  10. Steady frames allocate nothing and edits upload only what they change, which tests enforce; continuous integration runs the tests on Unity 2022.3 and 6000.5 and builds for WebGL, Android, iOS, macOS and Linux.
  11. The README is rewritten, with detailed Features, Performance, Usage and Migration pages in the Documentation folder.

Breaking changes

  1. LineContainer is now WireframeContainer, ILineContainer is removed, and a material is passed through WireframeContainerSettings.
  2. A custom material's shader must move vertices with WireframesSkin from the package's Wireframes.hlsl.
  3. Segments and Sides are now SegmentCount and SideCount, and the segments, sides and star points parameters are now segmentCount, sideCount and pointCount.
  4. LocalEnd and WorldEnd of long shapes are now LocalEndB and WorldEndB, next to the new LocalEndA and WorldEndA.
  5. Edits and bone moves are applied right before each camera renders, instead of at the end of LateUpdate.
  6. Bones must be Transforms in a scene, and resolutions are capped at 1,024 segments or sides and 512 star points.
  7. Calls from other threads throw InvalidOperationException in the Editor and development builds.

Known issues

  1. Stereo rendering for XR is untested.

@reromanlee reromanlee self-assigned this Sep 29, 2026
@reromanlee
reromanlee merged commit 91c7d60 into main Sep 29, 2026
11 checks passed
@reromanlee
reromanlee deleted the refactor/production-foundation branch September 29, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant