Reading time: ~15 minutes
🚀 Quick Start
Get up and running in minutes:-
Install Required Tools
- Install VS Code extensions:
- Download and install Rojo Studio Plugin (Rojo.rbxm)
-
Clone the CORP Template
-
Configure your game
Update
GAMEPACKS/MYGAME/metadata.ts:UpdateGAMECONFIG/gameinfo.ts: -
Create your first component
In
GAMEPACKS/MYGAME/src/: -
Export your component
In
GAMEPACKS/MYGAME/exports/components.ts: -
Start Development
Terminal 1 - Start Rojo:
Terminal 2 - Watch TypeScript:Connect Roblox Studio to Rojo and press Play!
📚 Documentation
Core Documentation
Reference & Examples
✨ Features
🎮 Unity-Style Architecture
Familiar GameObject and Component patterns for organized game development.🌐 Built-in Networking
Automatic replication with NetworkObjects and NetworkBehaviors.📡 Type-Safe RPCs
Remote Procedure Calls with flexible configuration.🔄 Automatic State Sync
NetworkedVariables, Lists, Maps, and Sets synchronize automatically.🎬 Scene Management
Load and manage game scenes with serialization support.🎯 Component Lifecycle
Predictable initialization and cleanup with lifecycle hooks.🎓 Learning Path
🟢 Beginner
- Getting Started - Step-by-step tutorial to create your first game
- Core Concepts - Understanding GameObjects and Components
- Unreal System - Understanding Gamepacks and project structure
🟡 Intermediate
- Scene Management - Advanced scene loading and organization
- Macros - Transform instances into GameObjects procedurally
- ScriptableObjects - Create reusable data assets
- Decorators - Use component decorators effectively
- Examples - Build player controllers, health systems, and weapons
🔴 Advanced
- Networking - Create multiplayer experiences
- Advanced Topics - Master advanced patterns and optimization
- API Reference - Complete API reference
📖 Common Use Cases
See Examples for complete tutorials on:- Simple Player Controller - Character movement and input
- Health System - Networked health with damage and respawn
- Weapon System - Shooting mechanics with server validation
- Enemy AI - Pathfinding and target tracking
- Inventory System - Item management and UI
- Game Manager - Match flow and win conditions
🔑 Key Concepts
GameObjects
Entities in your game world that contain Components.Components
Define behavior and data for GameObjects.Behaviors
Components with serialization support.NetworkObjects
Make GameObjects replicate across the network.NetworkBehaviors
Components that replicate their state.🛠️ Architecture Overview
🎯 Best Practices
✅ Do
- Use
Behaviorfor most components (serialization support) - Initialize in
onStart(), not the constructor - Use
@RequiresComponentfor dependencies - Let server make authoritative decisions
- Use batched replication when possible
- Clean up resources with
collector
❌ Avoid
- Accessing components in constructor
- Modifying NetworkedVariables on client
- Using instantaneous replication for frequent updates
- Forgetting to call
super()in constructors - Serializing runtime state (use configuration instead)
💡 Quick Reference
Common Imports
Component Template
NetworkBehavior Template
🤝 Contributing
We welcome contributions! Check out the main repository for contribution guidelines.📄 License
See the main repository for license information.🔗 Links
- GitHub Repository: MonoliskSoftware/CORP
- Template Repository: MonoliskSoftware/CORP-TEMPLATE
- roblox-ts: roblox-ts.com
Ready to build amazing games with CORP! 🚀 Start with the Getting Started Tutorial or explore Examples to see CORP in action.