{"repo":"jonisavo/uicomponents","free":true,"listed":false,"github":"https://github.com/jonisavo/uicomponents","clone":"git clone https://github.com/jonisavo/uicomponents.git","description":"A small front-end framework for Unity's UIToolkit powered by code generation.","language":"C#","stars":212,"topics":["framework","frontend","uitoolkit","unity","unity3d","uss","uxml","dependency-injection","game-development","ui"],"license":"MIT","category":"game-templates","readme_excerpt":"UIComponents A front-end framework for Unity's UIToolkit, powered by source generation. About UIComponents is a collection of source generators, runtime components and Roslyn analyzers. Its goal is to ease the creation of reusable components when working with UI Toolkit. Its primary use case is complex editor extensions, but it can be used for runtime UI as well. It's able to load assets for you, set up listeners, queries and traits. There is a simple dependency injection system available for those that need one, too. Example Instantiation in code: Instantiation in UXML: UIComponents are VisualElements with protected virtual methods which are overridden via source generation. Those virtual methods are called when the UIComponent is first attached to a panel. Those looking for a real-world example may feast their eyes on this component from my UnityGit project. It is a header element used for Git repositories. Testing The UIComponents package has been designed with testability in mind. The UIComponents.Testing assembly contains the TestBed helper class. Validation You can validate generated registry asset paths from the editor menu or in CI: The batchmode command exits with code 1 only when the validator finds unresolved or ambiguous registry paths. Other Unity project warnings do not affect the exit code. When run in batchmode, validation excludes UIComponents.Tests and UIComponents.Benchmarks assemblies so intentional negative-test assets do not fail CI. Requirements UICompo","default_branch":null,"files":null,"tree":[],"storefront":"/r/jonisavo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jonisavo/uicomponents/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}