Add multi-level capture mode for games with streamed Blueprint classes. #495
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
OldButImportant
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
software-migration-backups/Dumper-7-17-05-2026!495
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Evasion3356/feature/load-all-classes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this change will do, is if the user opts into it, 2 new functional keypresses will now be available. Pressing F4 marks all current UObjects in the array as EInternalObjectFlags::RootSet, which the garbage collector will skip over when it goes to run. This allows the user to load into a level with streamed Blueprint classes, leave, and then load another level, so that when the SDK is generated, it will be complete at least for each level required. I tried initially implementing a way to invoke GetAllAsssets then invoking LoadObject, but this was wildly unstable and unpredictable, as the level-specific BP code expected pointers to be passed into it during its load call that had to resolve to the type it was expected, or else it would crash.
Tested against Ready or Not engine build 5.3.2.
`#pragma once
/*
*/
// Package: BP_Tower_Interact_Keycard
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass BP_Tower_Interact_Keycard.BP_Tower_Interact_Keycard_C
// 0x0058 (0x02F8 - 0x02A0)
class ABP_Tower_Interact_Keycard_C final : public AActor
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x02A0(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
class UStaticMeshComponent* SM_WallSwitch_02_a; // 0x02A8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
class UInteractableComponent* Interactable; // 0x02B0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
bool bIsOn; // 0x02B8(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool TriggerOnceOnly_; // 0x02B9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_2BA[0x6]; // 0x02BA(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class FText PressedTextOn; // 0x02C0(0x0018)(Edit, BlueprintVisible)
class FText PressedTextOff; // 0x02D8(0x0018)(Edit, BlueprintVisible)
class FName DoorTag; // 0x02F0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void Server_Interact(class AReadyOrNotCharacter* InteractInstigator1, class UInteractableComponent* InteractableComponent1);
void ReceiveBeginPlay();
void OnFocusLost(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void OnFocusGain(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void NewFunction();
void Multicast_Interacted();
void MeleeInteract(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void Interact(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void Fire(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void ExecuteUbergraph_BP_Tower_Interact_Keycard(int32 EntryPoint);
void EndInteract(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void EndFire(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
void DoubleTapInteract(class AReadyOrNotCharacter* InteractInstigator, class UInteractableComponent* InInteractableComponent);
public:
static class UClass* StaticClass()
{
BP_STATIC_CLASS_IMPL("BP_Tower_Interact_Keycard_C")
}
static const class FName& StaticName()
{
STATIC_NAME_IMPL(L"BP_Tower_Interact_Keycard_C")
}
static class ABP_Tower_Interact_Keycard_C* GetDefaultObj()
{
return GetDefaultObjImpl<ABP_Tower_Interact_Keycard_C>();
}
};
DUMPER7_ASSERTS_ABP_Tower_Interact_Keycard_C;
}`
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.