overthrow-architecture

Document and enforce Overthrow architecture patterns, naming conventions, and project structure.

91|40|Updated May 24, 2022
One-click install
npx skills add https://github.com/ArmaOverthrow/Overthrow.Arma4 --skill overthrow-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: overthrow-architecture
Source: https://github.com/ArmaOverthrow/Overthrow.Arma4/tree/main/.claude/skills/overthrow-architecture
Command: npx skills add https://github.com/ArmaOverthrow/Overthrow.Arma4 --skill overthrow-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide to the Overthrow mod's unique architectural patterns, naming conventions, and project structure. It helps new and existing developers quickly understand how to integrate new features, ensuring consistency and reducing the learning curve for a complex codebase.

Core Features & Use Cases

  • Manager & Controller Patterns: Understand the singleton (Manager) and instance (Controller) component designs.
  • Global System Access: Learn to use OVT_Global for consistent access to core game systems.
  • Modular Client-Server: Implement new features using the OVT_OverthrowController for clean network communication.
  • Use Case: As a new contributor to the Overthrow mod, you need to add a new in-game shop. Use this Skill to understand where to place your code, how to structure your components (Manager for global shop state, Controller for individual shop entities), and how to handle client-server requests, ensuring your code adheres to project standards.

Quick Start

Explain the core differences between Manager and Controller components in Overthrow, including how they are accessed and their typical lifecycle.

Frequently Asked Questions about overthrow-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure manager and controller components in Overthrow mod development?

Managers handle singleton global state using OVT_Global for system-wide access, while Controllers manage instance-specific behavior for individual entities. Managers initialize once at startup; Controllers register via constructors and respond to client-server requests through OVT_OverthrowController, ensuring clean separation between global and local logic.

What's the correct way to organize code files and prefabs in an Overthrow mod project?

Organize code across Scripts, Prefabs, Configs, and UI directories following Overthrow naming conventions. Use protected member access via getters/setters, implement Init and PostGameStart lifecycles, and document replication patterns. This structure ensures consistency and simplifies integration of new features like shops or gameplay systems.

How do I implement client-server communication in Overthrow architecture?

Use OVT_OverthrowController as the modular client-server interface for new features. Structure requests through instance Controllers that register via constructors, leverage OVT_Global for system access, and follow replication patterns defined in project standards to maintain network synchronization across game instances.

What naming conventions and documentation standards does Overthrow enforce?

Overthrow enforces consistent naming conventions across manager singletons, instance controllers, and file organization. Documentation must specify functional requirements, lifecycle methods (Init, PostGameStart), member access patterns via getters/setters, and replication behavior to maintain code clarity and facilitate contributor onboarding.

Can I use Overthrow architecture patterns for new gameplay features?

Yes. Overthrow's patterns support modular feature development like shops or systems. Create a Manager for global state, Controllers for entity instances, register via constructors, handle replication through OVT_OverthrowController, and organize code in Scripts, Prefabs, Configs, and UI. This ensures your feature integrates seamlessly with existing systems.