Download

Game Crashing on cooking build when using Custom MovieSceneTracks

Hey there guys… don’t know if you could help me… but i’m trying to create Sequencer support to PaperZD and, although it’s been a bumpy ride, the core functionality is done on the EDITOR… but as always… when cooking the game something breaks… in this case the MovieSequencer SetupAndTearDown is failing a Check somewhere.

I can’t debug exactly which line is because even though i include the source code on the game… i cannot jump to where the breakpoint happens when attaching VS to the game (or even building a cooking Debug Build)

BUT!.. i got the stacktrace and is this one

Assertion failed: bIsValid [File:D:\Build++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\Core\Public\Misc/InlineValue.h] [Line: 141]
It is an error to call GetValue() on an invalid TInlineValue. Please either check IsValid() or use Get(DefaultValue) instead.

ZD_415_Win64_DebugGame!FDebug::AssertFailed()
ZD_415_Win64_DebugGame!FMovieSceneRootEvaluationTemplateInstance::CallSetupTearDown()
ZD_415_Win64_DebugGame!FMovieSceneRootEvaluationTemplateInstance::Evaluate()
ZD_415_Win64_DebugGame!UMovieSceneSequencePlayer::UpdateMovieSceneInstance()
ZD_415_Win64_DebugGame!UMovieSceneSequencePlayer::PlayInternal()
ZD_415_Win64_DebugGame!UFunction::Invoke()
ZD_415_Win64_DebugGame!UObject::CallFunction()
ZD_415_Win64_DebugGame!UObject::ProcessContextOpcode()
ZD_415_Win64_DebugGame!UObject::ProcessInternal()
ZD_415_Win64_DebugGame!UObject::CallFunction()
ZD_415_Win64_DebugGame!UObject::ProcessInternal()
ZD_415_Win64_DebugGame!UFunction::Invoke()
ZD_415_Win64_DebugGame!UObject::ProcessEvent()
ZD_415_Win64_DebugGame!AActor::ProcessEvent()
ZD_415_Win64_DebugGame!UExporter::ExportToOutputDevice()
ZD_415_Win64_DebugGame!FInputActionHandlerDynamicSignature::Execute()
ZD_415_Win64_DebugGame!FInputActionUnifiedDelegate::Execute()
ZD_415_Win64_DebugGame!UPlayerInput::ProcessInputStack()
ZD_415_Win64_DebugGame!APlayerController::ProcessPlayerInput()
ZD_415_Win64_DebugGame!APlayerController::TickPlayerInput()
ZD_415_Win64_DebugGame!APlayerController::PlayerTick()
ZD_415_Win64_DebugGame!APlayerController::TickActor()
ZD_415_Win64_DebugGame!FActorTickFunction::ExecuteTick()
ZD_415_Win64_DebugGame!FTickFunctionTask::DoTask()
ZD_415_Win64_DebugGame!TGraphTask<FTickFunctionTask>::ExecuteTask()
ZD_415_Win64_DebugGame!FNamedTaskThread::ProcessTasksNamedThread()
ZD_415_Win64_DebugGame!FNamedTaskThread::ProcessTasksUntilQuit()
ZD_415_Win64_DebugGame!FTaskGraphImplementation::WaitUntilTasksComplete()
ZD_415_Win64_DebugGame!FTickTaskSequencer::ReleaseTickGroup()
ZD_415_Win64_DebugGame!FTickTaskManager::RunTickGroup()
ZD_415_Win64_DebugGame!UWorld::RunTickGroup()
ZD_415_Win64_DebugGame!UWorld::Tick()
ZD_415_Win64_DebugGame!UGameEngine::Tick()
ZD_415_Win64_DebugGame!FEngineLoop::Tick()
ZD_415_Win64_DebugGame!GuardedMain()
ZD_415_Win64_DebugGame!GuardedMainWrapper()
ZD_415_Win64_DebugGame!WinMain()
ZD_415_Win64_DebugGame!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

As you can see… it fails on a Get (map or array maybe)… this doesn’t happen on the Engine build… so it must be the case of something not cooking correctly (My custom tracks obviously).

I know it’s a stretch… but can someone point me in the right direction?

Cheers!

Guys i feel like an idiot… i haven’t tested this yet… but all my MovieScene Objects are on an Editor part of the plugin… obvioulsly they won’t load on a cooked build where only runtime objects are loaded…

Will answer if this was the issue… but it seems that way
Cheers

Yep… it was precisely that

Found a weird occurance though…

when adding a struct that has an object to the persistent data all the references get invalidated after the sequence end… which made some shared objects go null in game…
FPersistentEvaluationData& PersistentData

Maybe i was doing something wrong though