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:
StateTreeModuleGameplayStateTreeModule
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:
- Confirm whether it is needed at runtime, editor-only, or only for one-time asset authoring.
- Check the license, redistribution terms, and whether it can be used in packaged builds.
- Run
Scripts/audit_repo_storage.shif the plugin brings assets into the repository. - Update
AgrarianGame.uproject. - Update
Source/AgrarianGame/AgrarianGame.Build.csonly when code needs the plugin's modules. - Build
AgrarianGameEditorafter the change. - If runtime code or packaged content depends on it, build a packaged client and eventually the dedicated server target.
- Update this document and the roadmap note for the plugin decision.
Before disabling a plugin:
- Search source, config, Blueprints, maps, and data assets for references.
- Remove unused module dependencies from
AgrarianGame.Build.cs. - Open the project and fix missing asset/class references.
- Run the editor build and relevant automation checks.
- 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.