{"id":15683460,"url":"https://github.com/blizzcrafter/monogame.runtimebuilder","last_synced_at":"2025-05-07T13:04:20.816Z","repository":{"id":143673024,"uuid":"206525521","full_name":"BlizzCrafter/MonoGame.RuntimeBuilder","owner":"BlizzCrafter","description":"The MonoGame.RuntimeBuilder builds your raw content asynchronously to the .XNB format during runtime.","archived":false,"fork":false,"pushed_at":"2025-03-25T22:45:18.000Z","size":22796,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T13:04:09.903Z","etag":null,"topics":["editor","editors","engine","engines","monogame","monogame-community","monogame-forms","monogame-framework","nuget","windows-forms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlizzCrafter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-05T09:27:57.000Z","updated_at":"2025-04-28T13:22:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba37446c-4722-44f1-93cc-c43bcb4242dc","html_url":"https://github.com/BlizzCrafter/MonoGame.RuntimeBuilder","commit_stats":null,"previous_names":["sqrmin1/monogame.runtimebuilder"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlizzCrafter%2FMonoGame.RuntimeBuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlizzCrafter%2FMonoGame.RuntimeBuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlizzCrafter%2FMonoGame.RuntimeBuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlizzCrafter%2FMonoGame.RuntimeBuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlizzCrafter","download_url":"https://codeload.github.com/BlizzCrafter/MonoGame.RuntimeBuilder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883226,"owners_count":21819158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["editor","editors","engine","engines","monogame","monogame-community","monogame-forms","monogame-framework","nuget","windows-forms"],"created_at":"2024-10-03T17:05:43.676Z","updated_at":"2025-05-07T13:04:20.791Z","avatar_url":"https://github.com/BlizzCrafter.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](https://raw.githubusercontent.com/sqrMin1/MonoGame.Forms/master/Logos/Logo_Banner_800.png)\n\n# Welcome to the MonoGame.RuntimeBuilder!\n[![Version](https://img.shields.io/nuget/v/MonoGame.RuntimeBuilder?style=for-the-badge\u0026logo=NuGet\u0026logoColor=0289CC\u0026logoSize=auto\u0026label=MonoGame.RuntimeBuilder\u0026labelColor=262626\u0026color=707070)](https://www.nuget.org/packages/MonoGame.RuntimeBuilder)\n\n The MonoGame.RuntimeBuilder **builds** your **raw** content **asynchronously** to the **.XNB** format **during runtime**. \n \n\u003e This library is a part of the [MonoGame.Forms](https://github.com/sqrMin1/MonoGame.Forms) project, \nbut it is fully usable without the MonoGame.Forms library!\n\n![Sample Project](doc/sample_project.png)\n\n ---\n \n### Tutorial\n\nUsing the MonoGame.RuntimeBuilder is fairly easy:\n\n```c\n\n// Creating the property.\nprivate RuntimeBuilder _RuntimeBuilder { get; set; }\n\n// Initialize the RuntimeBuilder.\n_RuntimeBuilder = new RuntimeBuilder(\n                Path.Combine(Application.StartupPath, \"working\"),           // working directory\n                Path.Combine(Application.StartupPath, \"working\", \"obj\"),    // intermediate directory\n                Path.Combine(Application.StartupPath, \"Content\"),           // output directory\n                TargetPlatform.Windows,                                     // target platform\n                GraphicsProfile.Reach,                                      // graphics profile\n                true)                                                       // compress the content\n            {\n                Logger = new StringBuilderLogger()                          // logger\n            };\n            \n// Pick Files \u0026 Build Content.\nprivate async void ButtonPickFiles_Click(object sender, System.EventArgs e)\n{\n    if (openFileDialog.ShowDialog() == DialogResult.OK)\n    {\n        _RuntimeBuilder.RegisterBuildContent(openFileDialog.FileNames);\n        await _RuntimeBuilder.BuildContent();\n    }\n}\n```\n\nAnd... that's it!\n\nA content build list will be generated for you so that in case you just want to rebuild your files, you simply need to call **_RuntimeBuilder.BuildContent();** (without parameters) again.\n\nThe [RuntimeBuilder.cs](https://github.com/sqrMin1/MonoGame.RuntimeBuilder/blob/master/MonoGame.RuntimeBuilder/RuntimeBuilder.cs#L12-L16) class is actually just a wrapper around the original [MGCB](https://github.com/MonoGame/MonoGame/tree/develop/Tools/MGCB \"MonoGame.Content.Builder\") tool, so it contains all of its features and functionality. Take a look at it and you will see that everything is pretty self-explanatory.\n\nJust one note:\n\nTo get log information you need to use a **ContentBuildLogger**. You can also inherit from this class to build your own logger.\n\nFortunately this library already contains a [StringBuilderLogger](https://github.com/sqrMin1/MonoGame.RuntimeBuilder/blob/master/MonoGame.RuntimeBuilder/StringBuilderLogger.cs#L8-L13) as an example :)\n\nThere is generally a [sample project](https://github.com/sqrMin1/MonoGame.RuntimeBuilder/blob/master/MonoGame.RuntimeBuilder.Sample/Sample.cs#L8) included in this repo, which shows pretty much everything. It's fully documented (comments) as well as the most important parts of the library.\n\n### Now Have Fun with the MonoGame.RuntimeBuilder!\n\n![Logo](https://raw.githubusercontent.com/sqrMin1/MonoGame.Forms/master/Logos/Logo_Shadow_256.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblizzcrafter%2Fmonogame.runtimebuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblizzcrafter%2Fmonogame.runtimebuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblizzcrafter%2Fmonogame.runtimebuilder/lists"}