Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Custom Widgets!

Discussion in 'UGUI & TextMesh Pro' started by bluescrn, Aug 20, 2014.

  1. bluescrn

    bluescrn

    Joined:
    Feb 25, 2013
    Posts:
    642
    With little info about the new UI system, I was a little concerned that we wouldn't be able to create custom widget types (actually add our own vertices to the new UI system). But it looks like we can, and it's as simple as adding a CanvasRenderer to your GameObject, and calling SetVertices on it, with an array/list of UIVertex. Nice!

    It doesn't take indices, so it looks like it renders everything as a list of quads, which is just fine in most cases.

    Seems nicer to use (and hopefully a bit faster) than the API for creating meshes at runtime - SetVertices accepts an IList or range from an array - looks like SetVertices(array, size) - so you can avoid the constant re-allocation of arrays when increasing/reducing the vertex count.

    So adding support for unusual widgets, or something like a replacement text system, should be fairly straightforward!
     
    Tim-C likes this.
  2. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    I don't even see why you'd have to bother with vertices. I can think of so many potential controls with just overriding Selectable and implementing the events.