Navigation
API > API/Runtime > API/Runtime/CoreUObject
This 'session' class exists to clear weak_map session vars inbetween fortnite rounds.
Why --> References to devices, widgets, characters, entities, components (literally anything scene graph) etc are all likely to become 'invalid' in a sense between rounds when a world is reloaded (BPVM / UE). Thus, we can't reference them safely from weak_maps unless we make them all invalidatable/disposable which we have not done yet as it would make the APIs quite cumbersome.
So, instead we clear these maps inbetween rounds to avoid accessing bad data like SOL-4914 ran into.
| Name | FSession |
| Type | class |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/VerseVM/VVMSession.h |
| Include Path | #include "VerseVM/VVMSession.h" |
Syntax
class FSession : public TSharedFromThis< FSession >
Inheritance Hierarchy
- FSession
- FSharedFromThisBase → TSharedFromThis → FSession
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSession () |
VerseVM/VVMSession.h | ||
| VerseVM/VVMSession.h | |||
| VerseVM/VVMSession.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FSession() |
VerseVM/VVMSession.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Session | TSharedPtr< FSession > | VerseVM/VVMSession.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| SessionMapReferences | TArray< TPair< const FMapProperty *, FWeakObjectPtr > > | VerseVM/VVMSession.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddSessionMap
(
const FMapProperty*, |
VerseVM/VVMSession.h | ||
void ResetWeakMaps() |
VerseVM/VVMSession.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FSession & GetSession() |
VerseVM/VVMSession.h |