game-engines
from pluginagentmarketplace/custom-plugin-game-developer
Game developer roadmap plugin with engine-specific patterns and optimization
3 stars0 forksUpdated Jan 5, 2026
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-game-developer --skill game-enginesSKILL.md
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() │
└─────────────────────────────────────────────────────────────┘
// ✅ Production-Ready: Unity Component Pattern
public class PlayerController : MonoBehaviour
{
[Header("Movement Settings")]
[SerializeField] private float moveSpeed = 5f;
[SerializeField] private float jumpForce = 10f;
[Header("Ground Check")]
[SerializeField] private Transform groundCheck;
[SerializeField] private float groundRadius = 0.2f;
[SerializeField] private LayerMask groundLayer;
private Rigidbody2D _rb;
private bool _isGrounded;
private float _horizontalInput;
// Cache components in Awake
private void Awake()
{
_rb = GetComponent<Rigidbody2D>();
}
private void Update()
{
// Input in Update (frame-rate independent)
_horizontalInput = Input.GetAxisRaw("Horizontal");
if (Input.GetButtonDown("Jump") && _isGrounded)
{
Jump();
}
}
private void FixedUpdate()
{
// Physics in FixedUpdate (consistent timing)
CheckGround();
Move();
}
private void CheckGround()
{
_isGrounded = Physics2D.OverlapCircle(
groundCheck.position, groundRadius, groundLayer);
}
private void Move()
{
_rb.velocity = new Vector2(
_horizontalInput * moveSpeed,
_rb.velocity.y);
}
private void Jump()
{
_rb.velocity = new Vector2(_rb.velocity.x, jumpForce);
}
}
Unreal Engine Architecture
UNREAL ACTOR SYSTEM:
┌─────────────────────────────────────────────────────────────┐
│ AActor (Base class for all game objects) │
│ ├─ APawn (Can be possessed by controller) │
│ │ └─ ACharacter (Has CharacterMovementComponent) │
│ ├─ AGameMode (Game rules) │
│ └─ APlayerController (Player input handling) │
│ │
│ COMPONENTS: │
│ ├─ USceneComponent (Transform hierarchy) │
│ ├─ UStaticMeshComponent (3D model) │
│ ├─ UCapsuleComponent (Collision) │
│ └─ UCharacterMovementComponent (Movement logic) │
│ │
│ LIFECYCLE: │
│ Constructor → BeginPlay() → Tick() → EndPlay() │
└─────────────────────────────────────────────────────────────┘
// ✅ Production-Ready: Unreal Character
UCLASS()
class MYGAME_API AMyCharacter : public ACharacter
{
GENERATED_BODY()
public:
AMyCharacter();
virtual void BeginPlay() override;
virtual void Tick(float DeltaTime) override;
virtual void Setu
...
Repository Stats
Stars3
Forks0
LicenseOther