# \[Quick BP to C++\] Core Redirector - Asset to C++

**URL:** <https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108>\
**Category:** Issues and Bug Reporting\
**Tags:** Struct, unreal-engine, Engine-Source-Code, question, CPP\
**Created:** [May 24, 2022, 11:18am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108 "2022-05-24T11:18:46Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 24, 2022, 11:18am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/1 "2022-05-24T11:18:46Z")

</div>

Added a struct core redirector in \Config\DefaultEngine.ini, tested in the following formats (not all at once):

```auto
[CoreRedirects]
+StructRedirects=(OldName="/Game/_Core/Data/Structs/World/Weather/Seasonal/S_OLD_Weather_Season.S_OLD_Weather_Season",NewName="/Script/GameCore.S_WeatherSeason")
+StructRedirects=(OldName="/Game/_Core/Data/Structs/World/Weather/Seasonal/S_OLD_Weather_Season",NewName="/Script/GameCore.S_WeatherSeason")
+StructRedirects=(OldName="/Game/_Core/Data/Structs/World/Weather/Seasonal/S_OLD_Weather_Season",NewName="S_WeatherSeason")
+StructRedirects=(OldName="S_OLD_Weather_Season",NewName="/Script/GameCore.S_WeatherSeason")
+StructRedirects=(OldName="S_OLD_Weather_Season",NewName="S_WeatherSeason")
+StructRedirects=(OldName="S_OLD_Weather_Season.S_OLD_Weather_Season",NewName="S_Weather_Season")
+StructRedirects=(OldName="S_OLD_Weather_Planetary",NewName="/Script/GameCore.S_WeatherPlanetary",OverrideClassName="/Script/CoreUObject.Struct")

```

Redirector is supposed to redirect a blueprint struct asset to a c++ USTRUCT (BlueprintType), however it does not redirect anything. The rules in this example were added one by one during testing. Adding multiple lines at once results in a logged message that there are “conflicting rules”.

**Expectation** :  
Properties, datatables, BP nodes using old struct datatype (BP) should be redirected to c++ datatype.

**Actual result** :  
Nothing happens.

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 25, 2022, 1:13am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/2 "2022-05-25T01:13:48Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 25, 2022, 7:03am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/3 "2022-05-25T07:03:38Z")

</div>

Can this be automated or am I going to spend all summer on manually making / breaking / clicky clicky blueprint nodes?

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 26, 2022, 8:15am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/4 "2022-05-26T08:15:44Z")

</div>

bump 😋 🔄 ⤴ 🆙

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 26, 2022, 5:56pm UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/5 "2022-05-26T17:56:34Z")

</div>

bumpp

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 27, 2022, 9:13am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/6 "2022-05-27T09:13:09Z")

</div>

☕

---

<div class="post-metadata">

**Author:** ![ElgSoft](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/elgsoft/32/1122247_2.png) [@ElgSoft](https://forums.unrealengine.com/u/ElgSoft)\
**Post date:** [May 27, 2022, 9:42am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/7 "2022-05-27T09:42:35Z")

</div>

> [@.Seda145](#):
>
> `StructRedirects`

Have you tried to fix the conflicting rules? Some are the exact same OldName 🙂

But other then that I think that for redirect Blueprint stuff you should do something like this (I have never tried BP to code only code to code):

> Blockquote  
> +StructRedirects=(OldName=“{BlueprintStruct}”,NewName=“/Script/{Module}.{NativeStruct}”,OverrideClassName=“/Script/CoreUObject.Struct”)

> Blockquote  
> OverrideClassName  
> “(Optional) Specifies a change to the underlying class of the UCLASS. This is generally used to change a Blueprint class to a native class.”

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 27, 2022, 2:53pm UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/8 "2022-05-27T14:53:43Z")

</div>

> [@ElgSoft](#):
>
> Have you tried to fix the conflicting rules?

I tested the rules one by one, I just posted them all at once to show what I have tried already. At one point I tried them all at once just to see if the log would show anything and that’s when the “conflict” message appeared, so at least I know it is doing something.  
Using the rules one by one results in absolute nothing, not even a log message.

> [@ElgSoft](#):
>
> OverrideClassName

I’m going to test this, I thought documentation wrote this for UCLASS only. Will reply after testing.

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 27, 2022, 3:07pm UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/9 "2022-05-27T15:07:29Z")

</div>

This format has been tested and does not work:

> +StructRedirects=(OldName=“S\_OLD\_Weather\_Planetary”,NewName=“/Script/GameCore.S\_WeatherPlanetary”,OverrideClassName=“/Script/CoreUObject.Struct”)

---

<div class="post-metadata">

**Author:** ![ElgSoft](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/elgsoft/32/1122247_2.png) [@ElgSoft](https://forums.unrealengine.com/u/ElgSoft)\
**Post date:** [May 28, 2022, 6:54am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/10 "2022-05-28T06:54:23Z")

</div>

Did some test and I can’t get it to work either for BPStruct to CodeStruct.  
Nothing even happen if I try to redirect BPStruct to BPStruct…

Redirect CodeStruct to CodeStruct work fine.

So not sure if there are some more magic you need to do or if it’s just broken.

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 29, 2022, 11:14am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/11 "2022-05-29T11:14:13Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [May 30, 2022, 5:53pm UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/12 "2022-05-30T17:53:55Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [August 3, 2022, 8:54am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/13 "2022-08-03T08:54:37Z")

</div>

Related for c++ to c++ and probably BP to c++, to make the matter more complex the redirector may fail silently after adding it properly.

> [Widgets destroyed after moving c++ class from project to plugin](https://forums.unrealengine.com/t/widgets-destroyed-after-moving-c-class-from-project-to-plugin/618739)

---

<div class="post-metadata">

**Author:** ![KuzbassCOT](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KuzbassCOT](https://forums.unrealengine.com/u/KuzbassCOT)\
**Post date:** [February 21, 2023, 8:00am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/14 "2023-02-21T08:00:28Z")

</div>

Hi! Have you been successful?  
I’ve been trying all day to replace the BP structure with C++. I was able to do it with ENUM, but the structure is unresponsive.

---

<div class="post-metadata">

**Author:** ![Roy\_Wierer.Seda145](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/roy_wierer.seda145/32/906551_2.png) [@Roy\_Wierer.Seda145](https://forums.unrealengine.com/u/Roy_Wierer.Seda145)\
**Post date:** [February 21, 2023, 9:37am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/15 "2023-02-21T09:37:12Z")

</div>

Not at all. I gave up fighting. This is another dead / half working feature. Best to start from scratch in c++ and develop modules one by one, then at the absolute last moment implement blueprints if you absolutely have to.

---

<div class="post-metadata">

**Author:** ![bendemott](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@bendemott](https://forums.unrealengine.com/u/bendemott)\
**Post date:** [November 21, 2024, 6:47pm UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/16 "2024-11-21T18:47:28Z")

</div>

Bump, seems to still be broken.

I have a blueprint to C++ enum redirector working. No luck with structs.

If I had cmd line argument `-DebugCoreRedirects` I get a message confirming when something is redirected… Absolutely nothing when it comes to the structs I’ve redirected, no error, no message, just nothing.

---

<div class="post-metadata">

**Author:** ![E\_PepeGamer](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@E\_PepeGamer](https://forums.unrealengine.com/u/E_PepeGamer)\
**Post date:** [August 16, 2025, 12:43am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/17 "2025-08-16T00:43:13Z")

</div>

bump same here

---

<div class="post-metadata">

**Author:** ![UnrealUser2020](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@UnrealUser2020](https://forums.unrealengine.com/u/UnrealUser2020)\
**Post date:** [August 20, 2025, 10:27am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/18 "2025-08-20T10:27:44Z")

</div>

Try it like this:

 ![StructRedirects](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/0/d/10df479cf35797cf163d3837908261ea519a9757.png)

For enums, use regular EnumRedirects, but with ValueChanges parameter set for each variable name as with structs.

---

<div class="post-metadata">

**Author:** ![mamuteek](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mamuteek](https://forums.unrealengine.com/u/mamuteek)\
**Post date:** [March 13, 2026, 8:16am UTC](https://forums.unrealengine.com/t/quick-bp-to-c-core-redirector-asset-to-c/565108/19 "2026-03-13T08:16:43Z")

</div>

I recently faced a similar issue and found a solution, so just wanna share it here. Due to a subtle bug in UE StructRedirects is not processed properly, so if using a StructRedirects I needed to complement it with ObjectRedirects like this

+StructRedirects=(OldName=“”, NewName=“”, OverrideClassName=“/Script/CoreUObject.ScriptStruct”)  
+ObjectRedirects=(OldName=“”, NewName=“”, OverrideClassName=“/Script/CoreUObject.ScriptStruct”)
