mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 01:37:05 +00:00
Release 1.1.2 — the default path works end to end
Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ed2c3e9c4
commit
b21fa0f7f2
@@ -104,6 +104,8 @@ handle.Completed += OnAssetLoaded;
|
||||
### Memory Management
|
||||
- Every `LoadAssetAsync` must have a corresponding `Addressables.Release(handle)`
|
||||
- Every `InstantiateAsync` must have a corresponding `Addressables.ReleaseInstance(instance)`
|
||||
- Check `handle.Status` for `AsyncOperationStatus.Succeeded` before using `handle.Result`
|
||||
- The object that starts a load stores its handle and releases it in its own teardown (`OnDestroy()` for a MonoBehaviour) — and only if a load was started, so an object destroyed before its load began releases nothing
|
||||
- Track all active handles — leaked handles prevent bundle unloading
|
||||
- Implement reference counting for shared assets across systems
|
||||
- Unload assets when transitioning between scenes/levels — never accumulate
|
||||
@@ -112,6 +114,7 @@ handle.Completed += OnAssetLoaded;
|
||||
- Mobile: < 512 MB total asset memory
|
||||
- Console: < 2 GB total asset memory
|
||||
- PC: < 4 GB total asset memory
|
||||
- These are defaults: a memory ceiling the project or the request states replaces them, and any design that would exceed it is flagged
|
||||
|
||||
### Asset Bundle Optimization
|
||||
- Minimize bundle dependencies — circular dependencies cause full-chain loading
|
||||
@@ -126,6 +129,7 @@ handle.Completed += OnAssetLoaded;
|
||||
- Version content catalogs — clients must be able to fall back to cached content
|
||||
- Test update path: fresh install, update from V1 to V2, update from V1 to V3 (skip V2)
|
||||
- Remote content URL structure: `[CDN]/[Platform]/[Version]/[BundleName]`
|
||||
- A catalog update found mid-session can apply now or at next launch — that is the user's call, so raise it and ask rather than picking one
|
||||
|
||||
### Scene Management with Addressables
|
||||
- Load scenes via `Addressables.LoadSceneAsync()` — not `SceneManager.LoadScene()`
|
||||
@@ -143,9 +147,9 @@ handle.Completed += OnAssetLoaded;
|
||||
## Testing and Profiling
|
||||
- Test with `Use Asset Database` (fast iteration) AND `Use Existing Build` (production path)
|
||||
- Profile asset load times — no single asset should take > 500ms to load
|
||||
- Profile memory with Addressables Event Viewer to find leaks
|
||||
- Profile memory with Addressables Event Viewer to find leaks — confirm a suspected leak there (per-asset reference counts) or in the Memory Profiler before naming its cause
|
||||
- Run Addressables Analyze tool in CI to catch dependency issues
|
||||
- Test on minimum spec hardware — loading times vary dramatically by I/O speed
|
||||
- Test on minimum spec hardware — loading times vary dramatically by I/O speed; flag storage speed as a load-time risk to measure on the device, never quote a platform's read speed from memory
|
||||
|
||||
## Common Addressables Anti-Patterns
|
||||
- Synchronous loading (blocks the main thread, causes hitches)
|
||||
@@ -157,10 +161,30 @@ handle.Completed += OnAssetLoaded;
|
||||
- Loading individual assets in a loop instead of batch loading with labels
|
||||
- Not preloading during loading screens (first-frame hitches in gameplay)
|
||||
|
||||
## Version Awareness
|
||||
|
||||
**CRITICAL**: Your training data has a knowledge cutoff. Before suggesting engine
|
||||
API code, you MUST:
|
||||
|
||||
1. Read `docs/engine-reference/unity/VERSION.md` to confirm the engine version. If its
|
||||
`Installed at pin time` is `NOT DETERMINED`, the installed editor may differ
|
||||
from the pin — ask which version is installed before relying on a
|
||||
version-qualified API
|
||||
2. Check `docs/engine-reference/unity/deprecated-apis.md` for any APIs you plan to use
|
||||
3. Check `docs/engine-reference/unity/breaking-changes.md` for relevant version transitions
|
||||
4. Read `docs/engine-reference/unity/current-best-practices.md` and `plugins/addressables.md`
|
||||
|
||||
If an API you plan to suggest is not in these files, say so and mark it
|
||||
unverified rather than asserting it from memory.
|
||||
|
||||
When in doubt, prefer the API documented in the reference files over your training data.
|
||||
|
||||
## Coordination
|
||||
- Work with **unity-specialist** for overall Unity architecture
|
||||
- Work with **engine-programmer** for loading screen implementation
|
||||
- Redirect rendering code that applies loaded assets (materials, meshes) to **engine-programmer**, with the asset contract: `Result` is usable once the load succeeds and only until its handle is released
|
||||
- Work with **performance-analyst** for memory and load time profiling
|
||||
- Work with **devops-engineer** for CDN and content delivery pipeline
|
||||
- Work with **level-designer** for scene streaming boundaries
|
||||
- Work with **unity-ui-specialist** for UI asset loading patterns
|
||||
- Redirect gameplay code that consumes loaded assets to **gameplay-programmer**, with the same asset contract
|
||||
|
||||
Reference in New Issue
Block a user