GameMaker Integration
After code generation, ScaffScript writes output directly into your GameMaker project, creating .gml files, generating .yy metadata for new assets, and updating your .yyp project file.
Asset Types
Section titled “Asset Types”Scripts
Section titled “Scripts”Script assets are written to scripts/<Name>/<Name>.gml. If the script doesn’t exist yet, ScaffScript also creates the .yy metadata file and registers it in your .yyp.
Objects
Section titled “Objects”Object assets are written to objects/<Name>/<EventType>_<EventSubtype>.gml. Each event gets its own file, for example:
./objects/oSystem/Create_0.gml./objects/oSystem/Keyboard_116.gml./objects/oSystem/oSystem.yyFor new objects, ScaffScript creates the .yy with the event list. For existing objects, it appends new events without duplicating.
useGmAssetPath
Section titled “useGmAssetPath”Controls whether ScaffScript uses the GM asset folder structure:
Paths under scripts/ and objects/ are treated as GM assets. ScaffScript will generate per-event file if it’s an object asset.
false Experimental
Section titled “false ”All output is preserved as-is, no .yy manipulation.
Virtual Path Registration
Section titled “Virtual Path Registration”When creating new assets, ScaffScript automatically adds the necessary folder entries inside your GameMaker project through the .yyp project file. Intermediate folders are created incrementally and deduplicated.
For a target like scripts/Scripts/MyFolder/Sub/myScript, ScaffScript ensures Scripts, Scripts/MyFolder, and Scripts/MyFolder/Sub all exist as folders in your project before adding the script resource.
Backup System
Section titled “Backup System”Before overwriting an existing .gml file, ScaffScript reads and stores the original content as a backup (unless noBackup: true). This backup is used in the review step to offer a restore option.
exclude Flag
Section titled “exclude Flag”Blocks flagged with -- exclude in an integration block (#[blockName]) are written during generation to .out/ directory, but stripped from the final integrated content. Use this to include content only for review purposes.