Licensing and Author Metadata
Every generated plugin includes standardized licensing and copyright information. You can also inject your own author metadata into the generated .uplugin descriptors and LICENSE files.
License Files
Each generated plugin gets a LICENSE file at its root containing the full MIT license text:
MIT License
Copyright (c) 2020-2021 ApiGear UG (haftungsbeschraenkt)
Copyright (c) 2021-2026 Epic Games Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
...
The ApiGear shared plugin (Plugins/ApiGear/) also receives a LICENSE file.
SPDX Headers
All generated source files include SPDX license identifiers instead of inline license blocks:
// SPDX-FileCopyrightText: Copyright ApiGear UG and Epic Games, Inc.
// SPDX-License-Identifier: MIT
Auto-generated files (those regenerated on every run) also include a warning:
// SPDX-FileCopyrightText: Copyright ApiGear UG and Epic Games, Inc.
// SPDX-License-Identifier: MIT
// This file has been generated by the ApiGear Code Generator.
// Do not edit. Changes will be lost when the code is re-generated.
User-editable files (stubs, test fixtures marked with preserve: true) get the SPDX header only, with no "do not edit" warning.
Third-party libraries bundled in the ApiGear plugin (OLinkProtocolLibrary, nlohmann/json) retain their original license headers.
Author Metadata
Use the meta field to set author information that appears in .uplugin descriptors and LICENSE files.
Setting Author Info
Specify author and author_url in your solution or module YAML files.
In the solution file (applies to all modules):
schema: apigear.solution/1.0
targets:
- name: ue_docs
output: ../ue_docs/Plugins
template: apigear-io/template-unreal
features:
- all
inputs:
- helloworld.module.yaml
meta:
author: "Acme Corp"
author_url: "https://acme.com"
In a module file (per-module override):
schema: apigear.module/1.0
name: io.world
version: "1.0.0"
meta:
author: "Acme Corp"
author_url: "https://acme.com"
interfaces:
- name: Hello
# ...
Priority
Module-level meta takes priority over solution-level meta. This lets you set a default author in the solution file and override it for specific modules when needed.
Generated Output
When author metadata is set, it populates two locations:
.uplugin descriptor -- the CreatedBy and CreatedByURL fields:
{
"FileVersion": 3,
"FriendlyName": "IoWorld",
"CreatedBy": "Acme Corp",
"CreatedByURL": "https://acme.com",
...
}
LICENSE file -- an additional copyright line:
MIT License
Copyright (c) 2020-2021 ApiGear UG (haftungsbeschraenkt)
Copyright (c) 2021-2026 Epic Games Inc. All rights reserved.
Copyright (c) Acme Corp. All rights reserved.
Permission is hereby granted ...
When no meta is specified, CreatedBy and CreatedByURL are empty strings and no extra copyright line appears. This is the default behavior and is fully backward compatible.
Meta Field Reference
| Key | Type | Description |
|---|---|---|
author | string | Author or organization name. Populates .uplugin CreatedBy and LICENSE copyright. |
author_url | string | Author website URL. Populates .uplugin CreatedByURL. |