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

70 lines
2.8 KiB
Markdown

# 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
This is the only plugin intentionally enabled in `AgrarianGame.uproject`.
| Plugin | Required For | Runtime Needed | Notes |
| --- | --- | --- | --- |
| `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` has no current plugin-specific
module dependencies.
The template variant cleanup removed the unused Combat, Platforming, and
SideScrolling starter source/content. That allowed `StateTree`,
`GameplayStateTree`, `StateTreeModule`, and `GameplayStateTreeModule` to be
removed from the baseline.
## 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 `ModelingToolsEditorMode` enabled for version `0.01` as an editor workflow
plugin.
Do not add additional plugins until a roadmap item requires them.