{"repo":"Antoshidza/NSprites","free":true,"listed":false,"github":"https://github.com/Antoshidza/NSprites","clone":"git clone https://github.com/Antoshidza/NSprites.git","description":"Unity DOTS Sprite Rendering Package","language":"C#","stars":658,"topics":["2d","dots","performance","rendering","sprites","unity","ecs","entities","package","unity-ecs"],"license":null,"category":"game-templates","readme_excerpt":"NSprites - Unity DOTS Sprite Rendering Package This framework provides sprite rendering system compatible with Entities package (unity ECS). Changelog Basically it sync whatever entity component you want with GPU data to perform instanced rendering. As a result all entities with same Material can be rendered with single drawcall. Features Using power of :boom: DOTS :boom: + instancing to render numerous of sprites Using any public to you per-entity blittable component as shader instanced property Data update strategies to avoid unnecessary CPU load Edit-time rendering (subscene only) Basic API For more detailed information please read project's wiki :blue book: Also shader you're using should be compatible with instancing. Check my example shader gist. The main idea is to use StructuredBuffer propertyName . Though it is possible to use instanced properties with ShaderGraph, so you may try your option. For local example shader main part can look like: How it works SpriteRenderingSystem sync registered entity components with ComputeBuffers to send data to GPU and then renders entities with Graphics.DrawMeshInstancedProcedural . System also controls how ComputeBuffers reallocates if capacity exceeds. Sprites are simple entities with no limits of what components you use. Check Foundation NSprites doesn't provide anything except rendering and managing data for it. Though you can implement anything you want on top of it. Also I want to share some foundation project where you can fi","default_branch":null,"files":null,"tree":[],"storefront":"/r/Antoshidza","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Antoshidza/NSprites/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."}