Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Engine: AOT-compatible production runtime (generated registration, serialization and brick composition)

Open
#292 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp

Research direction

Start with the named entry points: PrecastAssemblies.Load, TypeRegistry, and GamePlayers.Find, then trace the reflection-based JSON serialization and Activator creation described in the issue. Review the related Android plan task E7 and platform roadmap #100 for context. Done means exported games run with trimming warnings resolved and no runtime assembly scanning.

Written by the indexing model from the issue text.

Description

c:engine c:scripting p:medium size:XL t:refactor

Current State

Exported games discover bricks and players by assembly scanning (PrecastAssemblies.Load, TypeRegistry, GamePlayers.Find), serialize with reflection-mode System.Text.Json and MakeGenericType, and create objects with Activator from type names. This blocks NativeAOT for servers, consoles, iOS and Android.

Tasks

  • Rule from now: no new runtime assembly scanning or reflection-mode JSON
  • Generated type registration and serializers for exported games
  • Build-time brick composition instead of runtime discovery
  • Dynamic loading stays a development capability

Acceptance Criteria

  • An exported game runs with trimming warnings resolved and no runtime assembly scanning

Related

  • Android plan task E7 · seniority Sr · mergeable now (.NET 10)
  • Shared with the NativeAOT server investigation
  • Platform roadmap: #100
Dominant language
C#
Stars
1
Forks
1
Avg merge
1h 45m
Merged PRs (30d)
31

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MASS4ORG/Turian

All issues in MASS4ORG/Turian

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.