{"id":25623439,"url":"https://github.com/ostanton/macrosystem","last_synced_at":"2026-07-06T14:31:39.514Z","repository":{"id":278831842,"uuid":"936823820","full_name":"ostanton/MacroSystem","owner":"ostanton","description":"Runtime Unreal Engine macro system","archived":false,"fork":false,"pushed_at":"2025-04-26T12:00:32.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-26T13:19:27.392Z","etag":null,"topics":["plugin","ue5","ue5-plugin","unreal-engine","unreal-engine-5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ostanton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-02-21T18:48:42.000Z","updated_at":"2025-04-26T12:00:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"b5e6e31a-fca8-4190-9c12-70a4b74c0bed","html_url":"https://github.com/ostanton/MacroSystem","commit_stats":null,"previous_names":["ostanton/macrosystem"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ostanton/MacroSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostanton%2FMacroSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostanton%2FMacroSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostanton%2FMacroSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostanton%2FMacroSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ostanton","download_url":"https://codeload.github.com/ostanton/MacroSystem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostanton%2FMacroSystem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35195590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["plugin","ue5","ue5-plugin","unreal-engine","unreal-engine-5"],"created_at":"2025-02-22T11:38:08.861Z","updated_at":"2026-07-06T14:31:39.278Z","avatar_url":"https://github.com/ostanton.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unreal Engine Macro System\n\nThis is very unstable and buggy, and is more a proof of concept than anything substantially useful.\nIt's built on UE5.2, and uses Slate heavily (only the macro editor is exposed as a `UWidget`).\nThere's little documentation, but more will come as I flesh it out. Feel free to use or extend this as you wish.\n\n- [How to setup](#how-to-setup)\n- [Creating custom macros](#creating-custom-macros)\n- [Screenshots](#screenshots)\n\n## How to setup\n\n1. Download or clone the repository,\n2. Put it in your project's plugins folder (e.g. `MyProject/Plugins/MacroSystem`),\n3. Open the editor and enable it in the plugins window (`Edit \u003e Plugins \u003e Macro System`),\n4. Restart the editor,\n5. Follow [Creating custom macros](#creating-custom-macros) for how to create your own macros.\n\n## Creating custom macros\n\nMacros are just `UObject`s, so you can inherit from the base `UMacro` Blueprint class to create your own.\nFill out the class defaults, and override `ExecuteCustomParameters`, which is where the magic happens.\nIn this event, you can do whatever you want, as macros have a valid world reference. For example,\nthe built-in `Delay` macro sets a timer for the user-specified length of time before finishing.\nAfter you do whatever you wanted to do, call `FinishExecute` to finish the macro.\nThe `bSuccess` pin is purely to indicate to *conditional macros* (like if statements and while loops)\nwhether to run their actions, or skip them. If you don't intend on your macro being used in a conditional macro,\nthen don't worry about the value of `bSuccess`. You can just leave it as true.\n\n\u003eControl is handed over completely to the macro, so make sure all your code paths finish correctly!\n\nIn order to use your macro at runtime, you need to add it to the macro settings in a category. Go to\n`Project Settings \u003e Engine \u003e Macro Settings` and add a category for your macros. Give it a unique key,\nand add your macro to it. It will now show up in the context menu when adding an action to a user macro.\n\n\u003eThe built-in macros (like If, While, For, Delay, etc.) are not added in the settings by default.\n\u003eI still need to work out how to do that.\n\n## Screenshots\n\n![Screenshot1](Screenshot1.png)\n![Screenshot2](Screenshot2.png)\n![Screenshot3](Screenshot3.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostanton%2Fmacrosystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fostanton%2Fmacrosystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostanton%2Fmacrosystem/lists"}