DeltaECS.Generators 0.0.32

There is a newer version of this package available.
See the version list below for details.
dotnet add package DeltaECS.Generators --version 0.0.32
                    
NuGet\Install-Package DeltaECS.Generators -Version 0.0.32
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DeltaECS.Generators" Version="0.0.32">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DeltaECS.Generators" Version="0.0.32" />
                    
Directory.Packages.props
<PackageReference Include="DeltaECS.Generators">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DeltaECS.Generators --version 0.0.32
                    
#r "nuget: DeltaECS.Generators, 0.0.32"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DeltaECS.Generators@0.0.32
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DeltaECS.Generators&version=0.0.32
                    
Install as a Cake Addin
#tool nuget:?package=DeltaECS.Generators&version=0.0.32
                    
Install as a Cake Tool

DeltaECS.Generators

DeltaECS.Generators is a build-time Roslyn analyzer/source generator for consumer callback shapes. It is packaged as an analyzer and has no runtime dependency on the generator assembly.

<PackageReference Include="DeltaECS" Version="*" />
<PackageReference Include="DeltaECS.Generators" Version="*"
                  PrivateAssets="all" />

The package places its analyzer assembly under analyzers/dotnet/cs. It generates consumer-side ForEach/ForEachEntity callback forms, query-wide Where predicate terminals, generic primary-component structural façades for Create/Add/Remove (including multi-value Add and Set calls), and typed World query factories on demand. Runtime ComponentId query factories are provided by DeltaECS; storage and runtime execution remain there as well.

Query combatants = world
    .WhereAll<Position, Health, Human>()
    .WhereNone<Dead, Escaped>()
    .WhereAny<Armed, Berserk>();

Typed WhereAll, WhereNone, and WhereAny are generated for both World and Query. The runtime also provides the same three names for positional ComponentId values. The first call creates a query; each following call composes another QuerySpec and returns a new query handle while reusing the world's existing query-plan cache.

The generator targets netstandard2.0 and is shipped from analyzers/dotnet/cs. Its target is independent from the target framework of the consumer project.

Where functors implement IWherePredicate. Use Where for component-only predicates and WhereEntity when the predicate also needs the current entity. Terminal functors reuse the regular IForEach* contracts, including their ref context forms. See the generator API guide for complete syntax and interceptor configuration.

The generator is compiled against Microsoft.CodeAnalysis.CSharp 4.3.0, which is the Roslyn version required by Unity 6 source-generator projects. On newer Roslyn hosts the optional interceptor path is detected dynamically; Unity/C# 9 consumers use the ordinary generated path.

Consumers using C# 9 or C# 10, including Unity projects with a netstandard2.1 API profile, automatically use ordinary generated ForEach overloads. Interceptor source is emitted only when the consumer language version can parse the required interceptor declarations.

For the optional interceptor path, configure the consumer project as described in the generator documentation.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.48 0 10/10/2026
0.0.47 0 10/10/2026
0.0.46 41 10/9/2026
0.0.45 40 10/9/2026
0.0.44 36 10/9/2026
0.0.43 46 10/8/2026
0.0.42 40 10/8/2026
0.0.41 94 10/5/2026
0.0.40 86 10/4/2026
0.0.39 86 10/4/2026
0.0.38 82 10/3/2026
0.0.37 89 10/3/2026
0.0.36 88 10/2/2026
0.0.35 94 10/2/2026
0.0.34 81 10/2/2026
0.0.33 99 9/30/2026
0.0.32 95 9/22/2026
0.0.31 104 9/16/2026
0.0.30 93 9/15/2026
0.0.29 107 9/15/2026
Loading failed