# How to Preserve Item ID When Using Async Load Asset in Blueprint?

**URL:** <https://forums.unrealengine.com/t/how-to-preserve-item-id-when-using-async-load-asset-in-blueprint/2496025>\
**Category:** Programming & Scripting\
**Tags:** loading, async, unreal-engine, Blueprint, question\
**Created:** [May 7, 2025, 9:02pm UTC](https://forums.unrealengine.com/t/how-to-preserve-item-id-when-using-async-load-asset-in-blueprint/2496025 "2025-05-07T21:02:41Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zapking9224](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/zapking9224/32/1060813_2.png) [@Zapking9224](https://forums.unrealengine.com/u/Zapking9224)\
**Post date:** [May 7, 2025, 9:02pm UTC](https://forums.unrealengine.com/t/how-to-preserve-item-id-when-using-async-load-asset-in-blueprint/2496025/1 "2025-05-07T21:02:41Z")

</div>

Hi everyone,  
I’m working on an Unreal Engine 5.5 project using Blueprints only. I’m trying to load a large number of soft-referenced item classes and meshes at runtime using async loading, and store them in a map with their corresponding `ItemID`.

The problem I’m running into is keeping track of the `ItemID` that was originally associated with each asset when the `Async Load Asset` node finishes. Since these async loads are triggered in a loop or queue, by the time the `Completed` pin fires, the `ItemID` variable has already changed due to later iterations.

I want to be able to:

- Queue up many async load requests
- Ensure each load remembers the `ItemID` it was associated with
- Update a `Map<Name, Struct>` with the loaded class or mesh once it’s finished

I understand that I can’t create local variables in the event graph or modify the built-in async nodes to take custom data, so what’s the best way to preserve that `ItemID` across the async boundary in Blueprints?

Any Blueprint-only solutions or patterns to simulate this would be greatly appreciated!

Thanks!
