Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Embed and extract DataAssets from their owner (EmbedDataAssetAttribute)

Abierto
#231 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp
Área
backend, tooling

Línea de trabajo

Start by reading the serializer, inspector, undo system, and DataAsset variant handling; the issue names no files or tests. Trace how DataAsset members are currently serialized and referenced, then define embedded and referenced round trips, extraction and embedding with undo, and variant behavior. Done means both forms round-trip, extract/embed restore the original file contents and undo, and existing projects remain compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

c:editor c:engine p:low size:M t:feature

Current State

A DataAsset that references another (for example the project's settings, or a build profile's settings overrides) always points at a separate .dataasset file. A new project therefore starts with one file per settings kind, even when nothing about them is customized yet. [SerializeInline] exists for component members, but there is no way to keep a referenced DataAsset inside its owner and move it out later.

Tasks

  • Add an EmbedDataAssetAttribute (or extend [SerializeInline]) for DataAsset members that may hold either an embedded payload or a reference to a separate asset.
  • Serializer: read and write both forms for the same member; loading resolves either to the same payload type.
  • Inspector: an Extract button that writes the embedded payload to its own .dataasset (with meta) and replaces it with a reference, and an Embed button that does the reverse when nothing else references the asset. Both undoable.
  • Let new projects start compact: the Project asset embeds its default settings until the user extracts one (to make a variant, share it, or split it out for version control).
  • Decide how variants interact with embedding (a variant's base must be a separate asset).

Acceptance Criteria

  • A member marked with the attribute round-trips both the embedded and the referenced form.
  • Extract then Embed returns the original file contents; both steps undo.
  • Existing projects keep working unchanged.

Related

Central Project asset and build-profile settings overrides; DataAsset variants; #62 #35.

Lenguaje dominante
C#
Estrellas
1
Forks
1
Merge medio
1 h 57 min
PR fusionados (30 d)
36

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MASS4ORG/Turian

Todos los issues de MASS4ORG/Turian

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.