I have developed several games for iOS that have been played by millions of users. I noticed there are a set of common design patterns for game creation, so I created an OpenSource project with some of those called Phase Jump Pro. The code is primarily focused on 2D games, but anything that's not position-specific can be used in a 3D game as well. LinL: https://github.com/coinbump/PhaseJumpPro The code contains common design patterns for games in C#: Behavior Trees Weighted randoms (Spawn/Loot Tables + Spawner2D with spawn radius) Common Shaders (Stencil, Desaturate, Invert, Single Color, RGB-Recolor, etc.) 2D Movement paths (straight line, circle) Directional Velocity (2D-Kinematic) Emitters/Auto Emitters (firing bullets with time/count limits, Auto Emitter for shmups) Formations (auto populate template objects into a formation). EXAMPLE: line of hearts to show health Valves (for animated doors, switches, etc.) Interpolation curves Broadcast-Listener Command (for undo-redo) Timers ObservedValue Goals (for game goals (complete N tasks to continue)) Signal-Receptor (for tutorials) State Machines Concept-Demo (for tutorials) Bank for Currency (freemium apps) TopDown2D characters and basic steering (Flip, Wander, Wander-to-Target) Input Schemes (Move to Mouse for Cursors, Aim at Mouse for shooters) Grid-Based Games (Bejeweled, Tetris, etc.) There's also some scripts in there for setting up pixel art game assets.