Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API doesn't support launching non-Editor targets #62

Open
sleeptightAnsiC opened this issue Mar 15, 2024 · 2 comments
Open

API doesn't support launching non-Editor targets #62

sleeptightAnsiC opened this issue Mar 15, 2024 · 2 comments

Comments

@sleeptightAnsiC
Copy link
Contributor

sleeptightAnsiC commented Mar 15, 2024

I'm working on #56 and already have a solution but it only supports Editor target. According to documentation ue4 run was never meant to support non-Editor targets, so my fix for the linked issue would do a job for now. However, I also wish to support non-Editor targets. Currently ue4cli API does not have any logic for that, but it is possible to implement. If I fail to do so, this ticket will remind about the problem.

@sleeptightAnsiC sleeptightAnsiC changed the title API doesn't support for launching non-Editor target API doesn't support launching non-Editor targets Mar 15, 2024
@sleeptightAnsiC
Copy link
Contributor Author

sleeptightAnsiC commented Mar 15, 2024

NOTE:

Building, cooking and running Linux Client DebugGame is achieved by following UAT call:

Start UAT Non-Interactively: dotnet AutomationTool.dll -ScriptsForProject=/home/User/Projects/BlankUnrealProject/BlankUnrealProject.uproject BuildCookRun -project=/home/User/Projects/BlankUnrealProject/BlankUnrealProject.uproject -noP4 -clientconfig=DebugGame -serverconfig=DebugGame -nocompileeditor -unrealexe=/home/User/UnrealEngine/Engine/Binaries/Linux/UnrealEditor -utf8output -platform=Linux -client -build -cook -CookCultures=en -unversionedcookedcontent -stage -deploy -cmdline= -Messaging -device=Linux@KAL251123 -addcmdline=-SessionId=44DD4BA21D264D548A65AC2498FE5290 -SessionOwner='User' -SessionName='KAL251123'  -run

After said process I was able to successfully launch the build with:

ue4 uat BuildCookRun -project="/home/User/Projects/BlankUnrealProject/BlankUnrealProject.uproject" -clientconfig=DebugGame -serverconfig=DebugGame -platform=Linux -client -run

So this is doable :)

@sleeptightAnsiC
Copy link
Contributor Author

sleeptightAnsiC commented Mar 15, 2024

So I attempted to fix it but I ran into multiple problems related to said functionality:

  • You cannot launch non-Editor build without cooking the content and we have no support for cooking right now - No way for cooking content #61
  • It appeared on my side that using RunUAT BuildCookRun -project= -clientconfig=DebugGame -serverconfig=DebugGame -platform=Linux -client -run can actually run a different Configuration/Target than the one specified...
  • ...and I was never able to make it work by firing the executable from [Project]/Binaries/[Platform]/*. Even with a fully cooked content, not all Modules/Plugins were loading in this way, and I always getting some errors because of it (I might be missing something here though...)
  • If I understand right cooked content is stored in the same place for all build configurations. So if you try to cook for Game Development and then for Game Debug, it would override the previous content making it impossible to launch Game Development. I might be mistaken here, it's a bit confusing...
  • The ue4cli API was never meant to handle this case so I would need to rewrite a lot of stuff before implementing it. This would be a time waste and could break a lot of things.

That said, I think it's worth to abandon this issue for 'ue4cli' and maybe try to fix it for the successor.
Fixing it now would be very very risky and hard to support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant