{"id":23316962,"url":"https://github.com/microdee/ue4-material-expression-generator","last_synced_at":"2025-10-08T03:10:18.374Z","repository":{"id":46332588,"uuid":"247146433","full_name":"microdee/ue4-material-expression-generator","owner":"microdee","description":"Generate Material expressions to the clipboard to be pasted in Unreal Engine 4 material editor","archived":false,"fork":false,"pushed_at":"2023-03-03T14:23:39.000Z","size":243,"stargazers_count":3,"open_issues_count":7,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-13T08:37:37.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microdee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2020-03-13T19:22:28.000Z","updated_at":"2022-03-25T22:02:27.000Z","dependencies_parsed_at":"2025-02-13T08:41:44.469Z","dependency_job_id":null,"html_url":"https://github.com/microdee/ue4-material-expression-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdee%2Fue4-material-expression-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdee%2Fue4-material-expression-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdee%2Fue4-material-expression-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdee%2Fue4-material-expression-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microdee","download_url":"https://codeload.github.com/microdee/ue4-material-expression-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247589832,"owners_count":20963022,"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":[],"created_at":"2024-12-20T16:18:42.416Z","updated_at":"2025-10-08T03:10:13.323Z","avatar_url":"https://github.com/microdee.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UE4 Material Expression Node Generator\n\n## Features\n\nLooks for `float\u003cN\u003e main(...)` function in the active document and generates a material expression node to the clipboard ready to be pasted in your UE4 material. Works great with the HLSL Preview extension.\n\n```C\nfloat GlobalParam = 1;\nfloat4 main(float2 uv : TEXCOORD0) : SV_Target0\n{\n    return 1;\n}\n```\n\n* Enter **Generate UE4 Material Expression Node** in command palette to copy an entire node to clipboard\n* Enter **Generate text for UE4 Material Expression** to copy only the expanded text to clipboard\n  * (used for iterations)\n\nthis extension assumes that the main function is in global scope, its definition starts right at the beginning of line and the enclosing curly brackets are also both are the first characters on a line as seen above.\n\nYou can include other files in your code and this extension will recursively expand them for the expression node. Includes are always relative to their containing file.\n\n```C\n// include.hlsl\n#if !defined(include_hlsl)\n#define include_hlsl 1\n\n#define PI 3.141592653589793238\n\n#endif\n\n// main.hlsl\nfloat GlobalParam = 1;\nfloat4 main(float2 uv : TEXCOORD0) : SV_Target0\n{\n    #include \"include.hlsl\"\n    return PI;\n}\n```\n\nwill result in \n\n```C\n#if !defined(include_hlsl)\n#define include_hlsl 1\n\n#define PI 3.141592653589793238\n\n#endif\nreturn PI\n```\n\n## Known Issues\n\nIt would be great if the extension would ask for function name instead of being hard coded.\n\n**Enjoy!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrodee%2Fue4-material-expression-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrodee%2Fue4-material-expression-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrodee%2Fue4-material-expression-generator/lists"}