Search Results for

    Show / Hide Table of Contents

    Templates

    The package-authoring tools generate several repository and package files from project-scoped templates.

    Open them from Project Settings > Doji > Package Authoring > Templates.

    Templates landing page

    Template Categories

    The template settings are grouped into:

    • Package
    • Repository
    • Documentation (DocFX)

    The top-level Templates page also shows the supported placeholder tokens that can be reused across editable templates.

    Supported Tokens

    The shared token set is:

    • {{YEAR}}
    • {{COPYRIGHT_HOLDER}}
    • {{PACKAGE_NAME}}
    • {{PACKAGE_DISPLAY_NAME}}
    • {{PACKAGE_VERSION}}
    • {{PACKAGE_COMPANY}}
    • {{PACKAGE_DESCRIPTION}}
    • {{DOCUMENTATION_URL}}
    • {{PROJECT_NAME}}
    • {{PROJECT_COMPANY}}
    • {{NAMESPACE_NAME}}
    • {{NAMESPACE_NAME_REGEX}}
    • {{ASSEMBLY_NAME}}

    Tokens are resolved from the current package, repository, and project settings at generation time.

    {{DOCUMENTATION_URL}} uses the package Documentation URL setting. If that setting is empty, generated DocFX branding links fall back to # so the logo stays on the current page instead of pointing at an external site.

    Package Templates

    Package templates page

    These templates affect files generated inside the package itself or directly into generated Unity projects.

    .gitignore

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Package > .gitignore

    This template is written into generated Unity projects. In the package creation flow, that means the companion project receives it. In the standalone project creation flow, the generated standalone project receives it.

    README

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Package > README

    This template becomes the package root README.md when Include Package README is enabled.

    Repository Templates

    Repository templates page

    These templates affect files written at the repository root.

    README

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Repository > README

    This template becomes the repository root README.md when repository Include README is enabled.

    AGENTS

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Repository > AGENTS

    This template becomes the repository root AGENTS.md when Generate AGENTS.md is enabled in the project settings section.

    Custom License

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Repository > Custom License

    This template is used only when repository Open Source License is set to Custom.

    If the license type is set to one of the built-in SPDX options, the generated license comes from the built-in license templates instead.

    Documentation Templates

    Path:

    • Project Settings > Doji > Package Authoring > Templates > Documentation (DocFX)

    Documentation templates page

    The generated docs/ folder is created when Create Documentation Folder is enabled.

    The documentation template set includes:

    • branding image sources for docs/images
    • editable template assets for docs/docfx.json
    • editable template assets for docs/docfx-pdf.json
    • editable template assets for docs/filterConfig.yml
    • editable template assets for docs/index.md
    • editable template assets for docs/api/index.md
    • built-in locked templates for docs/.gitignore
    • built-in locked templates for docs/api/.gitignore
    • built-in locked templates for docs/toc.yml
    • built-in locked templates for docs/manual/toc.yml
    • built-in locked templates for docs/pdf/toc.yml

    See Companion And Standalone Projects for how generated projects consume the package.

    Documentation Branding

    The documentation settings page can also write branding outputs under docs/images.

    Documentation branding fields

    • Favicon Source is used to generate docs/images/favicon.ico
    • Logo Source is used to generate docs/images/logo.png

    If no source textures are configured, the documentation scaffold is still created, but the image outputs are skipped.

    Editable Documentation Files

    These are the files you will most commonly customize when you want different generated docs output between repositories.

    docs/docfx.json

    This is the main DocFX configuration used for the HTML site output.

    It contains the metadata and build configuration for:

    • API extraction from the generated package source
    • manual page inclusion
    • output location
    • template selection

    docs/docfx-pdf.json

    This is the PDF-oriented DocFX configuration.

    It extends the documentation build with PDF metadata and the PDF table-of-contents file.

    docs/filterConfig.yml

    This file controls which namespaces DocFX includes or excludes while generating the API reference.

    The default filter is tokenized around the package namespace so it can adapt to each generated repository.

    docs/index.md

    This is the generated documentation landing page for the repository docs site.

    High-level package-facing documentation, overview text, and links into the manual and API reference.

    docs/api/index.md

    This is the generated landing page for the API reference section.

    Introductory text for the scripting API pages that DocFX generates from the package source.

    Locked Documentation Files

    These files are still part of the generated docs scaffold, but they are provided as built-in content rather than editable project overrides.

    docs/.gitignore

    This built-in file ignores DocFX output and build intermediates inside the generated docs/ folder.

    docs/api/.gitignore

    This built-in file ignores generated API YAML files and the DocFX manifest data under docs/api/.

    docs/toc.yml

    This built-in root table of contents defines the top-level documentation navigation for the generated site.

    docs/manual/toc.yml

    This built-in manual table of contents provides the manual section entry point for generated docs.

    docs/pdf/toc.yml

    This built-in PDF table of contents controls the PDF-oriented navigation tree used by the DocFX PDF build.

    Why Some Templates Are Editable And Others Are Locked

    The template editor distinguishes between:

    • editable project-scoped templates that you can change directly
    • locked built-in templates that are shown for reference but not edited from the UI

    Locked templates still matter because they define parts of the generated repository structure even when you cannot edit them in the settings page.

    How Token Resolution Works

    Token resolution happens when files are generated, not when you save the template.

    That means one template can be reused across many packages and companion projects. The final text depends on the wizard values in the current generation run.

    Examples:

    • a repository README can include {{PACKAGE_NAME}} and {{PACKAGE_DESCRIPTION}}
    • a documentation index page can include {{PACKAGE_NAME}}
    • a custom license can include {{YEAR}} and {{COPYRIGHT_HOLDER}}

    Good Template Practices

    Templates are best for content that should stay consistent across repositories, not for values that already have dedicated settings.

    In practice:

    • keep identifiers, version, company names, and URLs in the settings models
    • use templates to control wording, structure, and repository conventions
    • prefer tokens over hardcoded package-specific strings when the template is intended for reuse
    In this article
    Back to top Generated by DocFX