| name | game-engines |
| version | 2.0.0 |
| description | Master game engines - Unity, Unreal Engine, Godot. Engine-specific
workflows, systems architecture, and production best practices.
|
| sasmp_version | 1.3.0 |
| bonded_agent | 02-game-programmer |
| bond_type | PRIMARY_BOND |
| parameters | [{"name":"engine","type":"string","required":false,"validation":{"enum":["unity","unreal","godot"]}},{"name":"topic","type":"string","required":false,"validation":{"enum":["architecture","physics","rendering","audio","networking","ui"]}}] |
| retry_policy | {"enabled":true,"max_attempts":3,"backoff":"exponential"} |
| observability | {"log_events":["start","complete","error"],"metrics":["build_time","frame_time_ms","draw_calls"]} |
Game Engines & Frameworks
Engine Comparison
┌─────────────────────────────────────────────────────────────┐
│ ENGINE COMPARISON │
├─────────────────────────────────────────────────────────────┤
│ UNITY (C#): │
│ ├─ Best for: 2D/3D, Mobile, Indie, VR/AR │
│ ├─ Learning: Moderate │
│ ├─ Performance: Good (IL2CPP for native) │
│ └─ Market: 70%+ of mobile games │
│ │
│ UNREAL (C++/Blueprints): │
│ ├─ Best for: AAA, High-end graphics, Large teams │
│ ├─ Learning: Steep (C++) / Easy (Blueprints) │
│ ├─ Performance: Excellent │
│ └─ Market: Major console/PC titles │
│ │
│ GODOT (GDScript/C#): │
│ ├─ Best for: 2D games, Learning, Open source │
│ ├─ Learning: Easy │
│ ├─ Performance: Good for 2D, Improving for 3D │
│ └─ Market: Growing indie scene │
└─────────────────────────────────────────────────────────────┘
Unity Architecture
UNITY COMPONENT SYSTEM:
┌─────────────────────────────────────────────────────────────┐
│ GameObject │
│ ├─ Transform (required) │
│ ├─ Renderer (MeshRenderer, SpriteRenderer) │
│ ├─ Collider (BoxCollider, CapsuleCollider) │
│ ├─ Rigidbody (physics simulation) │
│ └─ Custom MonoBehaviour scripts │
│ │
│ LIFECYCLE: │
│ Awake() → OnEnable() → Start() → FixedUpdate() → │
│ Update() → LateUpdate() → OnDisable() → OnDestroy() │
└─────────────────────────────────────────────────────────────┘
public class PlayerController : MonoBehaviour
{
[Header("Movement Settings")]
[SerializeField] private float moveSpeed = 5f;
[SerializeField] private jumpForce = ;
[]
[] Transform groundCheck;
[] groundRadius = ;
[] LayerMask groundLayer;
Rigidbody2D _rb;
_isGrounded;
_horizontalInput;
{
_rb = GetComponent<Rigidbody2D>();
}
{
_horizontalInput = Input.GetAxisRaw();
(Input.GetButtonDown() && _isGrounded)
{
Jump();
}
}
{
CheckGround();
Move();
}
{
_isGrounded = Physics2D.OverlapCircle(
groundCheck.position, groundRadius, groundLayer);
}
{
_rb.velocity = Vector2(
_horizontalInput * moveSpeed,
_rb.velocity.y);
}
{
_rb.velocity = Vector2(_rb.velocity.x, jumpForce);
}
}