Hey every1 i alrdy posted about this but now i learned that i was wrong about the problem and its another problem.
When i package my build for linux arm 64 and press a button in the charachter select it works , except if theres a cast to gameinstance after, it also wont go into the failed section of the cast it just refuses to do something, but only when theres a cast to gameinstance. Has any1 else ever had this problem?
The two symptoms together (button still changes look, but neither the success pin nor Cast Failed runs, and a Print String in that same graph also never shows on the Pi) usually mean the cooked OnClicked graph for that button is not the graph you are looking at in the Windows editor.
A cast whose target class is missing from the LinuxArm64 cook does this. The cooker drops the event rather than emitting a cast that fails at runtime, so you never enter Cast Failed. PIE and a Windows package can still work because they are using a different Game Instance class than the Linux cook.
Check these in order:
Project Settings, Maps and Modes, Game Instance Class. Set it to the exact Blueprint or C++ class you cast to, not the engine GameInstance. A level World Settings override or an editor Play override applies in PIE and is ignored by the packaged Linux game.
That class has to actually be in the Linux cook. If it is a Blueprint, keep it under Content (not an editor-only or Never Cook directory), and make sure every plugin it depends on is enabled for Linux. After a Linux cook, search the log for that asset name. A line about it being unreferenced or not cooked is the confirmation. Also open the packaged log on the Pi under Saved/Logs.
Separate the click from the cast. Delete the cast, put a Print String as the first node of that button’s OnClicked, and recook Linux. Do not rely on an incremental cook. If the print then appears, the click is fine and only the cast target was missing. If the print still never appears, the widget running on device is not this graph: character buttons created in a loop often show the pressed style from the widget tree while OnClicked was bound only on the template, or bound to a local that the loop overwrote. Bind OnClicked inside the loop with a Create Event on the instance you just created.
Once the print is visible, cast only after printing Get Game Instance, then Get Class, then Get Name. If that name is not your class, the project setting did not make it into the Linux package. Casting to the base GameInstance (no custom class) is a useful temporary bypass to prove the rest of the select logic.
The class button in the same child widget working just means that event does not reference the missing class, so it survived the cook.
hey thx for ur replie, im trying ur steps and typing meanwhile to give exact feedback.
Step 1 is done and was alrdy my Bp_gameinstance
Step 2 i didnt even know there can be directorys that wont be cooked is there a property that i can check to be 100 percent certain? So the log doesnt say anything that seems to be problamatic about the gameinstance and finishes with 0 errors and 0 warnings
Step 3 it can rint the string but the cast wont do ■■■■ , target is get game instance ( the one for widgets but also tried the normal one both wont work)
Step 4 Im setting it up rn for player 1 one with the cast after and for player 2 without the cast and only print → the print say BP_gameinstance_C_1 idk if thats supposed to be like this since my bp is only called BP_gameinstance
Just tried it and so far it didnt solve my problem the gameinstance cant be casted to for some unkown reason
Im using ue5.5 and the apropiat tool chain
EDIT:
Is there a way of force initialising the Instance?
I think i found the Solution but i can only test it tomorrow.
I rebuild my entire character select to pass the selection to the new lvl by the string input, worked in Editor and when packaged i was able to get to the lvl but got stuck there bcs the Characters weren’t spawned, since in the old character select before rebuilding it and when spawning the characters theres the same Class Referenz beeing set and loaded i assume its bcs of the Charachter referenz. I gave up on the problem and wanted to fix the packaging for normal Linux in the hopes that its just a Linux arm 64 problem, when cooking it was fine but when packaging it wasnt.
The problem was that the Plugin is in my Ue5 folders but not in the project folders , so i added Plugin folder and inserted the Paperzd(weird string combination after) and renamed it in PaperZD, now the Packaging worked.
Since that has caused problems for Linux packaging im quite sure that has also been the Problem for Linux arm 64 but it never showed in the logs.