A new C++ property added and built in MSDev does not show in the component detail pane after a hot reload?
Tepid Reload, more like.
Now, if you close the editor and reopen the new property is there as expected.
!!!!BUT!!!! And this is the worst of it. If, following Tepid Reload the user happens to save the asset in the blueprint editor the asset saves, but what it saves is not right.
Close the editor. Open the editor. Double click the blueprint and bam, editor crashes.
Assertion failed: InSCSNode->ComponentTemplate != NULL
To me, smells like the save in the intermediate state lays down the updated class's guid/timestamp/checksum without writing out the correct data structure, so when the editor reloads and registers the class with the correct data layout the headers checkout but the data is wrong. Or something like that anyway.
This is a pretty catastrophic problem since it renders any blueprint subject to it unusable. The only option is to restore from an earlier state or rebuild from scratch. Neither option is acceptable in the year 2014.
Branch: Launcher. 4.5.1
1/. Add code to project. Show all classes. New class with ActorComponent as base, called "CrashComponent"
2/. Edit code. In CrashComponent.h, change UCLASS() to UCLASS(meta = (BlueprintSpawnableComponent)) so it can be added in a blueprint.
3/. Save/Build. Observe the hot reload in UE4.
4/. In UE4 make a new Actor blueprint called "CrashActor"
5/. Double click "CrashActor" to edit. Switch to Components. Click "Add Component" and choose "Crash"
6/. You should have Crash1 as a component. Compile and save.
7/. Back to MSDev. Just before the end of the class declaration, whack in the following:
"public: UPROPERTY(Category = "Crasher", BlueprintReadWrite, EditAnywhere) float CrashFloat;"
8/. Save/build. Watch the hot reload in UE4. Observe how CrashFloat is not visible in in the detail view for the CrashComponent. Tepid Reload
9/. CLICK ON SAVE IN THE BLUEPRINT! Don't forget: this is the essential step.
10/. Exit UE4.
11/. Relaunch UE4.
12/. Double click on "CrashActor".
13/. POW! Right in the kisser.
Here's the error in full:
Unknown exception - code 00000001 (first/second chance not available)
Assertion failed: InSCSNode->ComponentTemplate != NULL [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.5\Engine\Source\Editor\Kismet\Private\SSCSEditor.cpp] [Line: 3081]
KERNELBASE + 24684 bytes UE4Editor_Core + 3174852 bytes UE4Editor_Core + 1677512 bytes UE4Editor_Core + 1566866 bytes UE4Editor_Kismet + 3128916 bytes UE4Editor_Kismet + 3949080 bytes UE4Editor_Kismet + 3235295 bytes UE4Editor_Kismet + 551991 bytes UE4Editor_Kismet + 752287 bytes UE4Editor_Kismet + 670633 bytes UE4Editor_Kismet + 1129173 bytes UE4Editor_Kismet + 2149318 bytes UE4Editor_AssetTools + 1021261 bytes UE4Editor_UnrealEd + 10642690 bytes UE4Editor_AssetTools + 530329 bytes UE4Editor_ContentBrowser + 1736388 bytes UE4Editor_ContentBrowser + 1255123 bytes UE4Editor_ContentBrowser + 1294632 bytes UE4Editor_ContentBrowser + 1784182 bytes UE4Editor_ContentBrowser + 1227254 bytes UE4Editor_ContentBrowser + 1286539 bytes UE4Editor_ContentBrowser + 1276022 bytes UE4Editor_ContentBrowser + 1869215 bytes UE4Editor_ContentBrowser + 1784767 bytes UE4Editor_Slate + 818133 bytes UE4Editor_Slate + 754699 bytes UE4Editor_Core + 2505996 bytes UE4Editor_Core + 2450091 bytes UE4Editor_Core + 2510873 bytes UE4Editor_Core + 2438466 bytes user32 + 9268 bytes user32 + 8855 bytes UE4Editor_Core + 3157718 bytes UE4Editor!FEngineLoop::Tick() + 3106 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.5\engine\source\runtime\launch\private\launchengineloop.cpp:2111] UE4Editor!GuardedMain() + 479 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.5\engine\source\runtime\launch\private\launch.cpp:133] UE4Editor!GuardedMainWrapper() + 26 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.5\engine\source\runtime\launch\private\windows\launchwindows.cpp:125] UE4Editor!WinMain() + 249 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.5\engine\source\runtime\launch\private\windows\launchwindows.cpp:201] UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
asked Oct 28 '14 at 05:49 PM in Bug Reports
I've reproduced this crash on my machine and have submitted it to our internal tracking system for further investigation. For the time being, if you close and reopen the editor after the second hot reload, you should be able to access the blueprint without the crash.
answered Oct 31 '14 at 06:11 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here