unreal-performance

unreal-performance is a cursor rule for Cursor from Stramp/Lost-Mines-Phandelver. It costs 0 tokens per session (530 once invoked), scanned A, original, MIT.

Unreal Engine performance guidelines for making game code use less processing time and memory.

In plain words
What is it for?
Use them when writing or reviewing Unreal Engine 5.7 gameplay code, especially Tick updates, garbage collection, containers, strings, and calculations.
Why use it?
They help avoid slow frames and unnecessary work caused by frequent updates, repeated searches, excess object creation, and inefficient strings or math.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/stramp/lost-mines-phandelver/unreal-performance
Clone the repo
git clone --depth 1 https://github.com/Stramp/Lost-Mines-Phandelver

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for unreal-performance

README.md
[![agentmods](https://agentmods.dev/badge/rules/stramp/lost-mines-phandelver/unreal-performance.svg)](https://agentmods.dev/rules/stramp/lost-mines-phandelver/unreal-performance)
Your own site
<a href="https://agentmods.dev/rules/stramp/lost-mines-phandelver/unreal-performance"><img src="https://agentmods.dev/badge/rules/stramp/lost-mines-phandelver/unreal-performance.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 530 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00530
Opus 5 $0.00000 $0.00265
Sonnet 5 $0.00000 $0.00106
Haiku 4.5 $0.00000 $0.00053

Measured 4d ago against content hash 4864ed9f6bf4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

unreal-performance scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/unreal-performance.mdc · 63 lines

How it starts

The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Performance and Optimization - Unreal Engine 5.7

Tick and Updates

  • ALWAYS disable Tick if not necessary: PrimaryActorTick.bCanEverTick = false;
  • Use FTimerHandle for periodic updates instead of Tick
  • Use events and delegates instead of polling
  • Consider SetActorTickInterval() to reduce Tick frequency

Garbage Collection

  • Minimize UObject allocations during gameplay
  • Use object pooling for frequently created/destroyed objects
  • Avoid creating UObjects in loops
  • Use structs instead of UObjects when possible

Containers

  • Use TArray with Reserve() when size is known
  • Use TMap for O(1) lookups, TArray for iterations
  • Avoid TArray::Find() in loops - use TMap or TSet
  • Use TArray::RemoveAll() instead of loops with Remove()

Strings

  • Use FName for frequent comparisons (case-insensitive, hashed)
  • Use FString only when necessary (mutable, slow)
  • Use FText for UI (localizable)
  • Avoid string concatenation in loops

Math

  • Use FVector, FRotator, FTransform (optimized)
  • Use FMath for math functions
  • Avoid unnecessary conversions
  • Use Squared versions when possible (ex: FVector::DistSquared())

Logging

  • Use UE_LOG() with appropriate levels
  • Disable logs in Shipping builds
  • Avoid logs in loops or frequently called functions
  • Use UE_LOG with LogTemp for temporary debug

Networking

  • Use Replicated only for properties that need to synchronize
  • Minimize replicated data
  • Use ReplicatedUsing for callbacks when values change
  • Consider NetMulticast vs Server vs Client RPCs

Profiling

  • Use Unreal Insights for profiling
  • Use SCOPE_CYCLE_COUNTER() to measure performance
  • Use STAT() macros for statistics
  • Profile before optimizing - measure, don't guess

General Best Practices

  • Prefer stack allocation instead of heap when possible
  • Use const and constexpr when appropriate
  • Avoid virtual functions in performance-critical code
  • Use inline for small and frequent functions
  • Cache results of expensive calculations

Read the full file on GitHub · 63 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 63 lines · 0 tokens per session scan A 4864ed9f6bf4

Subscribe to this mod's changes

unreal-performance is a cursor rule published in the GitHub repository Stramp/Lost-Mines-Phandelver (2 stars, last pushed 9mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 530 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.