This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Docs/RequiredPlugins.md
T

3.6 KiB

Required Unreal Plugins

Agrarian should keep plugins boring and intentional. Every enabled plugin must either be required by compiled code, required by checked-in content, or clearly limited to editor workflow.

Current Enabled Plugins

These are the only plugins intentionally enabled in AgrarianGame.uproject.

Plugin Required For Runtime Needed Notes
StateTree Template AI code that still compiles under Variant_Combat and Variant_SideScrolling Yes, until those template variants are removed or rewritten Required by StateTreeModule includes and dependencies.
GameplayStateTree StateTree AI component support used by the template AI controllers Yes, until those template variants are removed or rewritten Required by GameplayStateTreeModule and UStateTreeAIComponent.
ModelingToolsEditorMode Editor-side terrain, mesh, and prototype world-building workflow No Keep enabled for developer/editor use. Revisit before shipping if it adds unnecessary packaging overhead.

Module Dependencies Tied To Plugins

Source/AgrarianGame/AgrarianGame.Build.cs currently depends on:

  • StateTreeModule
  • GameplayStateTreeModule

Do not disable StateTree or GameplayStateTree until the template AI source under these folders is removed or refactored:

  • Source/AgrarianGame/Variant_Combat/
  • Source/AgrarianGame/Variant_SideScrolling/

The template variant decision is captured in Docs/TemplateVariantDecision.md. When those variants are removed, revisit this document and remove the StateTree plugin/module dependencies if no Agrarian-specific AI code needs them.

Explicitly Not Enabled Yet

These plugins are intentionally not part of the baseline yet:

  • OnlineSubsystemSteam: enable only when Steam account/session integration is ready to implement and test.
  • GameplayAbilities: decide after the core survival/crafting/combat model is better defined. Do not add it just because it may be useful later.
  • Marketplace content plugins: add only when the asset is actively used by the current build and the repository storage policy has been checked.
  • Visual Studio tooling plugins: avoid committing machine-specific editor helper plugin references.

Add Or Remove Plugin Checklist

Before enabling a plugin:

  1. Confirm whether it is needed at runtime, editor-only, or only for one-time asset authoring.
  2. Check the license, redistribution terms, and whether it can be used in packaged builds.
  3. Run Scripts/audit_repo_storage.sh if the plugin brings assets into the repository.
  4. Update AgrarianGame.uproject.
  5. Update Source/AgrarianGame/AgrarianGame.Build.cs only when code needs the plugin's modules.
  6. Build AgrarianGameEditor after the change.
  7. If runtime code or packaged content depends on it, build a packaged client and eventually the dedicated server target.
  8. Update this document and the roadmap note for the plugin decision.

Before disabling a plugin:

  1. Search source, config, Blueprints, maps, and data assets for references.
  2. Remove unused module dependencies from AgrarianGame.Build.cs.
  3. Open the project and fix missing asset/class references.
  4. Run the editor build and relevant automation checks.
  5. Package a client if runtime content was affected.

Current Decision

Keep StateTree, GameplayStateTree, and ModelingToolsEditorMode enabled for version 0.01.

Do not add additional plugins until a roadmap item requires them. The next plugin review is the template-variant cleanup item, because that may allow the project to remove StateTree dependencies if the template AI code is deleted.