LoL Engine Services Checklist¶
Profiles: RPG, Roguelite, Puzzle Purpose: Fast, practical default service toggles per game type.
Legend¶
- ON = Enable by default
- OPT = Optional (depends on your design)
- OFF = Usually unnecessary at first
Input is handled via Unity Input System directly and is not currently a ServiceConfiguration toggle.
Service Matrix¶
| Service | RPG | Roguelite | Puzzle |
|---|---|---|---|
| Event Manager Service | ON | ON | ON |
| Resource Service | ON | ON | ON |
| Object Pool Service | ON | ON | OPT |
| Audio Service | ON | ON | ON |
| Save System | ON | ON | ON |
| Serialization Service | ON | ON | ON |
| Compression Service | OPT | OPT | OFF |
| Encryption Service | OPT | OPT | OPT |
| Auto Save Service | ON | OPT | ON |
| Quick Save Service | OPT | OFF | OFF |
| Localization Service | ON | OPT | OPT |
| Time Service | ON | ON | OPT |
| Notification Service | ON | ON | OPT |
| Game State Manager Service | ON | ON | ON |
RPG Checklist (Content-heavy, persistent progression)¶
Core¶
- [ ] Enable Event Manager Service
- [ ] Enable Resource Service
Gameplay + UX¶
- [ ] Enable Audio Service
- [ ] Enable Game State Manager Service
- [ ] Enable Notification Service
- [ ] Enable Time Service
Persistence¶
- [ ] Enable Save System
- [ ] Enable Serialization Service
- [ ] Enable Auto Save Service
- [ ] Enable Localization Service
- [ ] (Optional) Enable Compression Service
- [ ] (Optional) Enable Encryption Service
- [ ] (Optional) Enable Quick Save Service
Performance¶
- [ ] Enable Object Pool Service
Roguelite Checklist (Run-based, high spawn/despawn)¶
Core¶
- [ ] Enable Event Manager Service
- [ ] Enable Resource Service
Gameplay Loop¶
- [ ] Enable Object Pool Service
- [ ] Enable Audio Service
- [ ] Enable Game State Manager Service
- [ ] Enable Time Service
- [ ] Enable Notification Service
Persistence¶
- [ ] Enable Save System
- [ ] Enable Serialization Service
- [ ] (Optional) Enable Auto Save Service (if mid-run resume is supported)
- [ ] (Optional) Enable Compression Service
- [ ] (Optional) Enable Encryption Service
- [ ] (Optional) Enable Localization Service
Puzzle Checklist (Lean runtime, clean UX)¶
Core¶
- [ ] Enable Event Manager Service
- [ ] Enable Resource Service
Gameplay + UX¶
- [ ] Enable Audio Service
- [ ] Enable Game State Manager Service
Persistence¶
- [ ] Enable Save System
- [ ] Enable Serialization Service
- [ ] Enable Auto Save Service
- [ ] (Optional) Enable Encryption Service
- [ ] (Optional) Enable Localization Service
Optional Systems¶
- [ ] (Optional) Enable Object Pool Service
- [ ] (Optional) Enable Time Service
- [ ] (Optional) Enable Notification Service
- [ ] Keep Compression Service OFF unless save size justifies it
- [ ] Keep Quick Save Service OFF unless game design specifically needs it
Recommended Starting Presets¶
RPG (safe default)¶
Enable all except: - Compression Service - Encryption Service - Quick Save Service (Then turn these on only when requirements demand it.)
Roguelite (performance default)¶
Prioritize: - Object Pool Service - Time Service - Game State Manager Service - Audio Service Keep Auto Save optional unless you support run resume.
Puzzle (minimal default)¶
Start with: - Core services - Audio - Save + Serialization - Game State Manager Add extras only when concrete features require them.
Rule of Thumb (Important)¶
Do not enable services "just in case." Enable only what the current milestone uses, then expand intentionally. This keeps initialization simpler, reduces debugging noise, and avoids hidden dependencies.
Resource tuning note:
- Configure both memory budget and cache entry cap in ResourceManagementConfig (maxMemoryBudgetMB, maxCacheEntries).
Notification hygiene note: - Ensure all notification subscriptions are unsubscribed on object teardown. - High subscriber counts now produce warnings to help catch stale listener buildup.
Quick Boot Verification (all game types)¶
Before Play:
- [ ] ServiceConfiguration asset exists
- [ ] ImprovedGameInitializer is in entry scene
- [ ] ServiceConfiguration assigned on initializer
- [ ] Entry scene is Scene 0 in Build Settings
- [ ] No compile errors in Console
After Play:
- [ ] Services initialize without timeout
- [ ] No "Service not found" errors
- [ ] Enabled services can be resolved through ServiceLocator