Project formats: levels, prefabs and resources
What .rscene, .rprefab, .rdata and .rbin store; source files, UIDs and what belongs in version control.
Choose by purpose
| Data | Format | Contents |
|---|---|---|
| A level the game launches | .rscene | An Entity tree stored as PackedEntity |
| A reusable object | .rprefab | The same PackedEntity representation with a different source-asset role |
| A material, style, shape or other Resource | .rdata | A text Resource with a reckfell_resource header |
| A binary Resource or PackedEntity | .rbin | Binary resource serialization; the extension alone does not identify a level role |
| Project configuration | project.reckfell | Settings, including reckfell/project_schema=1 |
| Player progress | Your own schema in user:// | See saving data |
.rscene and .rprefab are neither different Entity classes nor ECS. Both load as PackedEntity and instantiate an ordinary object hierarchy. Their role comes from the logical source path. The editor distinguishes roles in Content Browser, tabs and creation commands; native EntityTree.ChangeSceneToFile does not forbid launching a .rprefab. If a project allows only levels as switch targets, enforce that rule in its loader.
Text and binary
Text supports reviewing and merging changes in Git. Save through the editor or ResourceSaver: serialization can reorder entries, omit defaults and discard comments. Byte equality alone is not resource semantic equality.
An extension does not replace content: save PackedEntity as .rscene/.rprefab and other Resources as .rdata. Mismatched pairs are rejected. .rbin supports both types; renaming a text file does not convert it to binary. Checks save and reload a tree in a fresh process; they do not compare format size or speed.
A header can contain format=3 or format=4. This identifies a serialization schema, not the product version. Do not substitute format="1.0.0" for Reckfell 1.0.0. The saver selects a supported format for the actual data.
Files to keep in Git
Keep project.reckfell, C# code and the .NET project, source .rscene/.rprefab/.rdata files, required assets and their .uid files. Text resources can embed a UID in the header; other supported types use a sidecar. Do not duplicate an asset with another asset's UID: an independent asset needs its own identity.
.reckfell/ contains generated editor/import data and the UID cache. It is not a substitute for source files and is normally ignored in Git. Cache reconstruction needs valid source assets and identity files. Do not edit .reckfell/imported to repair a source resource.
Moving and changing roles
Move project assets through Content Browser. Make Scene/Make Prefab changes the extension and updates discovered references; the checked editor code asks you to save unsaved dependent documents first. Do not assume arbitrary path strings in C# or external files are rewritten automatically.
An exported logical asset may be redirected to a binary resource. Its role follows the logical source path, not a filename under .reckfell/imported. Editor steps and remap branches were source-checked; native mouse-driven role changes and a finished export were not run in this check.