Skip to content

Game Developer interview questions

100 real questions with model answers and explanations for Game Developer candidates.

See a Game Developer resume example

Practice with flashcards

Spaced repetition · Hunter Pass

Questions

engineunreal-enginegameplay

Keep authoritative rules in C++ and expose only safe tuning in Blueprints.

  • Put validation, cooldown math, and replication in a reviewed C++ path.
  • Expose damage, range, and VFX hooks as editable defaults for designers.
  • Move repeated graph logic into a parent class or function library.

Why interviewers ask this: The interviewer is checking whether you separate engine-owned logic from designer-owned tuning without making Blueprints unmaintainable.

gasabilitiescooldowns

I keep the execution path small and push the rules into tags and effects.

  • Use ability tags to gate activation and block conflicting skills.
  • Apply cost and cooldown through GameplayEffects so prediction and replication stay aligned.
  • Keep animation and target selection separate so the ability can change without rewiring logic.

Why interviewers ask this: The interviewer is checking whether you can keep GAS data-driven while preserving clean runtime flow.

attributesreplication

I replicate only the values other clients must see and derive the rest locally.

  • Use OnRep handlers for health, shield, and other visible stats.
  • Batch frequent changes into one effect instead of many tiny updates.
  • Keep hidden math like crit rolls and server caps off the wire.

Why interviewers ask this: The interviewer is checking whether you understand selective replication and server-owned combat math.

engineunreal-enginegameplay

I use tags when the state must grow across content teams and enums when the set is closed.

  • Tags let designers add new combinations without a code rebuild.
  • Enums are better for small switch-heavy logic with few states.
  • I usually reserve tags for abilities, inventory traits, and status effects.

Why interviewers ask this: The interviewer is checking whether you match the data model to how content actually evolves.

hotbarinventorybuild

I would make the inventory data-driven and keep the hotbar as a view over it.

  • Store item definition, stack count, and durability separately.
  • Validate merge and split rules on the server before the UI updates.
  • Replicate slot deltas so a 30-slot bag does not resend the full state.

Why interviewers ask this: The interviewer is checking whether you can separate authority, UI, and item state cleanly.

persistence

I keep saves backward-compatible with explicit version stamps and small migration steps.

  • Write a version number into every save and branch loaders by range.
  • Migrate old fields forward in small steps instead of one big rewrite.
  • Keep one fixture save from each shipped release for regression tests.

Why interviewers ask this: The interviewer is checking whether you can evolve persistence without breaking existing players.

system-designdesignweapons

I keep the weapon contract in C++ and let Blueprint handle presentation.

  • C++ owns ammo math, fire rate, recoil, and authority checks.
  • Blueprint owns muzzle flash, audio, and designer-tuned defaults.
  • Data assets define variants so balance changes stay centralized.

Why interviewers ask this: The interviewer is checking whether you preserve code ownership while still giving designers room to tune.

components

I would keep entities as IDs and move real state into typed components.

  • Store transform, health, and inventory in separate contiguous arrays.
  • Let systems read only the components they need for that update.
  • Use stable IDs and generation counters so stale references fail fast.

Why interviewers ask this: The interviewer is checking whether you can build an engine model that stays cache-friendly and safe.

system-designgameplayecs

I would split behavior into data, systems, and presentation instead of translating scripts one by one.

  • Convert per-object state into component data that Burst can process in batches.
  • Move hot loops into IJobEntity or Entities systems with explicit dependencies.
  • Keep UI, VFX, and scene setup on the classic side until DOTS brings clear value.

Why interviewers ask this: The interviewer is checking whether you understand DOTS as an architecture shift, not a class rename.

gameplayburst

They push me toward flat data, fewer branches, and explicit ownership.

  • I avoid object graphs in hot code because Burst wants contiguous data.
  • I batch work so one job update covers hundreds of entities.
  • I measure data access first, because a clean algorithm can still be cache-poor.

Why interviewers ask this: The interviewer is checking whether you can write code for the compiler and the cache, not just for readability.

ecsengine

I use Entities when a system has many similar objects and the frame cost is data-heavy.

  • Use GameObjects for authoring-heavy or highly unique hero content.
  • Use Entities for crowds, projectiles, particles, or large simulations.
  • Switch only when profiling shows the classic model is the real bottleneck.

Why interviewers ask this: The interviewer is checking whether you can pick the right abstraction instead of defaulting to DOTS.

ecsdependencies

I make dependencies explicit and keep reads and writes narrow.

  • Chain jobs through the returned handles so write-after-read conflicts stay visible.
  • Split systems by access pattern instead of hiding synchronization in one big update.
  • Check the profiler when a job waits more than it runs.

Why interviewers ask this: The interviewer is checking whether you can control scheduling instead of hoping the runtime guesses correctly.

simulationgameplay

I would drive it from fixed inputs and a fixed simulation step.

  • Quantize acceleration, friction, and jump impulses the same way on every machine.
  • Avoid frame-time-scaled branches inside the authority path.
  • Record inputs and state hashes so desyncs show up on the first bad tick.

Why interviewers ask this: The interviewer is checking whether you understand determinism as a simulation contract, not a math slogan.

soft-skillsanimation

I use root motion when the animation owns the pose and code-driven movement when gameplay must stay authoritative.

  • Let code own collision and networked position.
  • Let root motion add polish for attacks, vaults, and heavy turns.
  • Clamp corrections so animation never drifts far from gameplay truth.

Why interviewers ask this: The interviewer is checking whether you can keep animation polish without losing movement authority.

animationgameplay

I bind gameplay windows to named markers instead of hardcoded frame indices.

  • Read a marker from the asset, not from a clip name.
  • Keep cancellation and timeout logic outside the event itself.
  • Reuse the same marker names across alternate attack clips.

Why interviewers ask this: The interviewer is checking whether you can keep animation timing flexible across multiple assets.

state-machinegameplay

I keep one authoritative state machine and make every transition explicit.

  • Let stun interrupt attack and roll through a clear priority rule.
  • Clear buffered actions when the state changes.
  • Keep exit logic in the leaving state so cleanup stays predictable.

Why interviewers ask this: The interviewer is checking whether your combat flow stays readable when multiple states can interrupt each other.

ai

I would combine simple perception with a navmesh-backed search routine.

  • Use sight and hearing checks to set a last-known position.
  • Patrol through waypoints when nothing is seen.
  • Switch to a short investigation route before falling back to patrol.

Why interviewers ask this: The interviewer is checking whether you can combine AI senses, memory, and navigation without overengineering.

aistate-machines

I use a finite-state machine for tight combat logic and a behavior tree when the AI needs many reusable branches.

  • FSMs are easier for attack, retreat, and stun loops.
  • Behavior trees help when perception, patrol, and chase share nodes.
  • I avoid trees when the design only needs four or five states.

Why interviewers ask this: The interviewer is checking whether you match the AI tool to the actual complexity of the enemy.

ai

I would try the straight move first and then fall back to a bounded search.

  • Query a path to the target and cache the failure reason.
  • If the path is blocked, sample nearby reachable points around the obstacle.
  • Replan only when the agent actually makes progress, not every frame.

Why interviewers ask this: The interviewer is checking whether you can recover from path failure without adding constant path churn.

system-designdesign

I would make interaction a shared contract with type-specific outcomes.

  • Let the player detect nearby interactables through one ray or overlap query.
  • Expose one entry point like Interact and let targets decide the result.
  • Show one prompt pipeline so UI, audio, and gameplay stay aligned.

Why interviewers ask this: The interviewer is checking whether you can keep three different interactables on one clean contract.

Locked questions

  • 21

    How would you build an equipment system with item stats, buffs, and set bonuses?

    system-designbuild
  • 22

    How do you handle crafting recipes and server-side validation?

    soft-skillsvalidation
  • 23

    How do you make checkpoint and respawn preserve quest state?

    checkpointrespawn
  • 24

    How do you keep UI decoupled from gameplay state?

    gameplay
  • 25

    How would you model input rebinding across keyboard, pad, and touch?

    input
  • 26

    How do you build an ability target selector for cone, line, and self targets?

    gameplaybuildabilities
  • 27

    How would you integrate audio cues into gameplay events without hardcoding sounds?

    gameplay
  • 28

    How do you structure a save/load pipeline in a custom engine?

    ci-cd
  • 29

    How would you handle scene or level streaming in gameplay code?

    streaminggameplayscene-management
  • 30

    How would you design a mission objective system that designers can extend?

    system-designdesign
  • 31

    How do you expose tuning data through ScriptableObjects or data assets?

    data-assetsassets
  • 32

    How would you keep combat numbers consistent between Unreal and Unity prototypes?

    engineprototypes
  • 33

    How do you decide whether a feature belongs in engine code or game code?

    game-design
  • 34

    How do you model projectile life cycle, pooling, and ownership?

    ownershipgameplaymemory
  • 35

    How would you build a weapon recoil and spread system?

    system-designweaponsspread
  • 36

    How do you make a cross-platform control scheme feel consistent?

    cross-platform
  • 37

    How would you represent a save slot list and metadata?

    save-system
  • 38

    How do you design a boss phase system?

    system-designdesign
  • 39

    How would you handle animation blending when the character is on a moving platform?

    animationgameplaycross-platform
  • 40

    How do you keep AI and gameplay code from fighting over the same transform?

    gameplay
  • 41

    How do you implement a simple combat combo chain?

    gameplay
  • 42

    How would you add a minimap or radar that follows gameplay events?

    gameplay
  • 43

    How do you split single-player and multiplayer code paths cleanly?

    networkinggameplay
  • 44

    How would you validate player-owned content like loadouts or perks?

    validationgameplay
  • 45

    How do you keep a custom engine’s memory ownership clear for gameplay objects?

    ownershipmemorygameplay
  • 46

    How would you make a cutscene system trigger gameplay state changes?

    system-designgameplayphysics
  • 47

    How do you build a dialogue or quest flag system that survives saves?

    system-designbuild
  • 48

    How would you prevent floating-point drift in a 100 km open world?

    iac
  • 49

    How do you make editor tooling for designers without breaking runtime code?

    design
  • 50

    How do you add platform-specific input or UI prompts cleanly?

    cross-platform
  • 51

    How do you profile a dropped frame in Unreal Engine 5?

    engineunreal-enginetiming
  • 52

    How do you decide whether a hitch comes from CPU, GPU, or streaming?

    streamingrendering
  • 53

    What do you look at first when a scene spends 6 ms on draw submission?

    scene-management
  • 54

    How would you reduce GC spikes in Unity 6?

    gcengine
  • 55

    How do you find a native memory leak in a custom engine?

    memory
  • 56

    How would you reduce allocs in a hot gameplay loop?

    gameplay
  • 57

    How do you debug a shader that hitches on first use?

    rendering
  • 58

    How would you warm PSOs or shader permutations for a level?

    rendering
  • 59

    How do you tune asset streaming so 4K textures do not pop in late?

    renderingstreamingassets
  • 60

    What do you do when an animation system costs 2 ms per character?

    animationsystem-designgameplay
  • 61

    How do you optimize a navmesh or pathfinding spike when 150 NPCs spawn?

    aioptimization
  • 62

    How do you debug a race condition in a multithreaded gameplay system?

    system-designgameplayconcurrency
  • 63

    What do you check when Unreal Insights shows a 20 ms game thread spike?

    engineprofilingconcurrency
  • 64

    How would you use PIX, RenderDoc, and Tracy together on one bug?

    profiling
  • 65

    How do you keep frame pacing smooth at 60 or 120 fps?

    frame-pacingtiming
  • 66

    What is your approach to authoritative networking for player movement?

    networkinggameplay
  • 67

    How do you implement client prediction and reconciliation for movement?

    reactnetworking
  • 68

    How do you handle lag compensation for hitscan combat?

    networkingsoft-skills
  • 69

    How do you decide which state to replicate and which to derive locally?

    replication
  • 70

    What do you do when a client sees a pickup twice over latency?

    latency
  • 71

    How would you debug a rollback mismatch between client and server?

    networkingrollback
  • 72

    How do you smooth remote players with interpolation and extrapolation?

    networkinggameplay
  • 73

    How do you keep packet loss from breaking combat feel?

    networking
  • 74

    How do you build a server tick budget for 64 players?

    gameplaybuildnetworking
  • 75

    What is your approach to cross-platform builds for PC, console, and mobile?

    cross-platformbuild
  • 76

    How do you debug a build that passes in editor but fails on console?

    build
  • 77

    What do you look for when audio stutters under load?

    debugging
  • 78

    How do you keep voice counts and audio memory under control?

    memory
  • 79

    How would you reproduce a crash that only happens after two hours?

  • 80

    How do you use symbols and minidumps to debug a shipped crash?

    debugging
  • 81

    What logging strategy helps without tanking performance?

    logging
  • 82

    How do you set performance budgets per platform and enforce them?

    cross-platformperformance
  • 83

    What do you automate in CI for game builds?

    game-designbuild
  • 84

    How do you catch a bad asset import before it reaches QA?

    assets
  • 85

    What do you do when a hot reload breaks state in a plugin?

    tooling
  • 86

    How do you debug input latency complaints from playtesters?

    latency
  • 87

    How would you measure the cost of a new rendering feature?

    rendering
  • 88

    How do you profile memory fragmentation on consoles?

    memory
  • 89

    How do you keep build sizes from blowing past platform limits?

    cross-platformbuild
  • 90

    How do you test a network feature with 120 ms latency and 2 percent loss?

    latency
  • 91

    What is the best way to inspect a navmesh or collision issue in engine tools?

    physicsai
  • 92

    How do you diagnose shader variant explosion in a large project?

    rendering
  • 93

    How do you stop a streaming open world from thrashing disk IO?

    streaming
  • 94

    How do you keep a replay or deterministic test useful for debugging?

    simulation
  • 95

    What do you do when profiler results differ wildly between dev and release?

    profiling
  • 96

    How do you decide whether to pool an object or just allocate it?

  • 97

    How do you debug a build that only crashes on one GPU vendor?

    procurementrenderingbuild
  • 98

    How do you instrument gameplay events without spamming logs?

    gameplay
  • 99

    How would you compare two optimization candidates fairly?

    optimization
  • 100

    How do you keep certification or platform compliance bugs from sneaking into release?

    cross-platform