NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.32k stars 14.29k forks source link

UE5 (Unreal Engine 5 Game Engine) #124963

Open Ashe opened 3 years ago

Ashe commented 3 years ago

Project description Now that we have access to Unreal Engine 5's source code, it would be nice to have a ue5 package which corresponds to the main branch of UE5 ue5-main.

The quick start documentation shows some steps to getting it working, however as a NixOS newbie I got stuck when it begun requiring things of dotnet (I also wasn't making a package which was just making my life more difficult).

Apparently the stages to get this setup are:

  1. Clone the branch
  2. Run Setup.sh in the root folder
  3. Run GenerateProjectFiles.sh in the root folder
  4. Run make

Some things to note:

Would love to see this! Thank you!

Metadata

juliosueirasED commented 2 years ago

@dyaso was the startup crash happened before or after the project selection/creation page?

juliosueiras commented 2 years ago

@dyaso I pushed a new commit try that one(just incase), it won't trigger the base(120ish GB) rebuild

dyaso commented 2 years ago

Oh sorry, that was during the first splash screen, before project selection.

Your new version seems to've fixed it, i got to the project window and made and ran a Blueprints 3rd person template project, and the content examples Niagara Advanced particles demo level also runs fine.

dyaso commented 2 years ago

Btw, just found out that if one wants to use the handy send2unreal Blender extension, you have to enable a port for IPC by adding networking.firewall.allowedUDPPorts = [ 6766 ]; to configuration.nix

dyaso commented 2 years ago

Just saw there's been a hotfix release with release notes mentioning fixing "[Build Blocker] Compile UnrealHeaderTool Linux - Failed to load app-local ICU". Might that help with getting C++ games working?


Before it starts compiling, you need to update the release patch number in unwrapped.nix and its SHA to 12c15d51gywbhkbvsjqgr7y26d9v9k4g514j91rh311gzfyixsfj , change

    url = "http://cdn.unrealengine.com/Toolchain_Linux/native-linux-v19_clang-11.0.1-centos7.tar.gz";
    sha256 = "tlDwsQKpXi8qKQ3Ywe5BKYx1lnzr4Z8kIA6jqEkBRhM=";

to

    url = "http://cdn.unrealengine.com/Toolchain_Linux/native-linux-v20_clang-13.0.1-centos7.tar.gz";
    sha256 = "0ygnmmf8h66nk0ba8yl58q3y6ny2mb23ikzak9pa3fxrm624brid";

and update the line cp ${clangBundledToolchain} .git/ue4-sdks/v19_clang-11.0.1-centos7.tar.gz in the same file similarly to the new name,

and add xdg-utils and curl to fhsenv.nix

plus add these 158 entries to `cdn-deps.nix`
Nb: i got this list by modifying this shell script from the `ue4` derivation to not redownload things which were already in the store. Since the 5.0.2 list of things is 5748 items long and the 5.0.1 list is 5724 long, this means there'll be 134 unneeded things left in the store, i think?
"006eb32cc017a2d85ba07f17f25de326ac3ebaad" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/006eb32cc017a2d85ba07f17f25de326ac3ebaad; sha256 = "193ybmn683w9ziv8gilmfmiw003xjz6wwgw256drfzzj9627fxhd"; }; "006f5c691f7b4851ec351b1b77d335769f1a0077" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19944188/006f5c691f7b4851ec351b1b77d335769f1a0077; sha256 = "0j4g4jx07x88pzrb85m211nb6rvv4crzp751wnv93lfcb0g6d6dx"; }; "01d8515b7e677aa5fc3137a8daedf8928f41f82a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20124395/01d8515b7e677aa5fc3137a8daedf8928f41f82a; sha256 = "15mn7nms1ncl4dnhgcc9r6fzqaz8li6pmhln7cghx16468d0k2yd"; }; "02ef9fc92fa36055b86de4877088b239ca715671" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/02ef9fc92fa36055b86de4877088b239ca715671; sha256 = "1w2wlkihsivh9sibzwd8yzzmh7497r9f9x4wpyfpjrpnjb2v4xg5"; }; "0612a1dd46f0b0e9158b325628758629ff8871e1" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/0612a1dd46f0b0e9158b325628758629ff8871e1; sha256 = "1qcx90jjkb9a208zxiiihxg2s34yhy41b97azlvgzj318iyzc772"; }; "06a7c4ffb1d773e3c22074725b32aec15e37d908" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20124395/06a7c4ffb1d773e3c22074725b32aec15e37d908; sha256 = "1y6xqds3bajzbdkcxlscxnbw1vv12rdqx6f5sywrsjxwk06q7wxn"; }; "07757b0b742293476c419e77c0d99fb5121c9aed" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/07757b0b742293476c419e77c0d99fb5121c9aed; sha256 = "0cm95ghclacrha5hk528n5vvfhyv2swknqdvnrz42ha88zm98lky"; }; "086cf6962bb2489a2a2afe9a63b857392edf2b81" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/086cf6962bb2489a2a2afe9a63b857392edf2b81; sha256 = "1mq6i002ngmzr14404q1rw0lwb1ar0hjpl68pb54mi2v34pl4lsp"; }; "0959b7758262d2ddcbaf40fed8e45e9149cbb385" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/0959b7758262d2ddcbaf40fed8e45e9149cbb385; sha256 = "1h4ha69ivffnxbpipa63v33v4svnlxldw64s63x1gsxc50dvj0bg"; }; "0ad27c1e4f4d6bac4409b0cc87f9be3e08b5c1c7" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19906333/0ad27c1e4f4d6bac4409b0cc87f9be3e08b5c1c7; sha256 = "1c0m26py155yk0sbmyvdhdx547kl7d6nmx13z7d1g4g8nca2vqf7"; }; "0bdbac3dc787672c450587d544e37175d9dd94ce" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/0bdbac3dc787672c450587d544e37175d9dd94ce; sha256 = "0zp0hrqmlccyjm88hl37fmx7xxpdwih7z00y0d0xqxlcb9995sds"; }; "0dd3152b9160f1606b48e7b1fac41984fdda0bfe" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19848522/0dd3152b9160f1606b48e7b1fac41984fdda0bfe; sha256 = "1wbzhvsszxggmignsx0yva609m754igzix77wsxnysqmg7am9psk"; }; "0dfca370b950d43246b8f3a52c721a083de81b3f" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030635/0dfca370b950d43246b8f3a52c721a083de81b3f; sha256 = "1dk722f1jglpa0fx3w9kx4pm4sl7di0ykqw5j5rxd7ngpgdbkvdl"; }; "0ef5523bdd13822cf53a60edc00338bac2639a01" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19932344/0ef5523bdd13822cf53a60edc00338bac2639a01; sha256 = "1d0a6vl49d83ac9h25cy4w5ixip9akfdr2i6hvx6kmzhsg4h2qjs"; }; "109216a49ba5f4694719bb76132adce92cd31812" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/109216a49ba5f4694719bb76132adce92cd31812; sha256 = "1mvh667vzc1cfc4pin17kinf5qsnjxb62mdddz6n5g9vl6qqrv2z"; }; "1094efed23a22ea80ffb2f87882785d27b1e91cc" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20238679/1094efed23a22ea80ffb2f87882785d27b1e91cc; sha256 = "06s405pp6z3lyfdx7ppszpyj25vqijj3461km8r042mp4cghs48v"; }; "1178718edfa9f73b8ede5dd29a49115243b30883" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20151675/1178718edfa9f73b8ede5dd29a49115243b30883; sha256 = "0np30dxmrmgzbsk27wxm8z0s7kvz2qsx7ba9p75m053fps1g7yf7"; }; "1265b8a37e2594c38380221fedaf289c503c9fc2" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/1265b8a37e2594c38380221fedaf289c503c9fc2; sha256 = "1ri0y0k8im44adrk198igfvlvixg8hmngg6shm8bwk0hds1pkwbx"; }; "12c4cab7c661b7f87a46b057e4cd9afeaf54ca25" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030619/12c4cab7c661b7f87a46b057e4cd9afeaf54ca25; sha256 = "1bpn1s47mr3mj0zsaxf0lacav5442wv62zdkwgd3vj8nxdwvqy24"; }; "137810bf2e30d04e5257f6ab59b5683b694cd05a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/137810bf2e30d04e5257f6ab59b5683b694cd05a; sha256 = "01rby9smfkpnpm0wxcw9vhp19l07pyjd3hqzvdpmh6hja0pgkyyq"; }; "18a8cb5f3a2f005536dfa3483194e278dfe2ccff" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/18a8cb5f3a2f005536dfa3483194e278dfe2ccff; sha256 = "0r02179s2xmx23bvfhz8xi87p1f4a6fmhbs9a30bz2rz58qf7qd4"; }; "19d3ca9f262267855e28475b08c9029296755c72" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/19d3ca9f262267855e28475b08c9029296755c72; sha256 = "17dgn0pnx22pb30w64n8829rkgr4r7scs5gdpfc276h3k0x1sibz"; }; "1bf3d139304e8ed9fc16d92840329a87581a6489" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/1bf3d139304e8ed9fc16d92840329a87581a6489; sha256 = "0q6jns2qlfm6i5a4dxrj6qkbcf68zv1154c9va52vj3vjh27g2fb"; }; "1e01681a7e422742b72de116aa3fd0e589fea2a6" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20238679/1e01681a7e422742b72de116aa3fd0e589fea2a6; sha256 = "0w8p02qj2nmpfmkhk5gc1j8cci8g3ryhl5vd3a6hbjch9cflbxp8"; }; "20973cb9c455582b1ca8e2c202ae19ada6269db1" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/20973cb9c455582b1ca8e2c202ae19ada6269db1; sha256 = "1d0fyp7c0rqdfryvjbmc463gilyr61bxkz8dfwvc1nqmw1jnyr0v"; }; "2246b961858c6a8f3935c16f43973ca2a16505f2" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20151675/2246b961858c6a8f3935c16f43973ca2a16505f2; sha256 = "0dfvcbwh5cxvgw7kjwb31ql295f9kglmix1mgp2mgghvvp24qzl8"; }; "2591490f4a5ce0326a46d1fe9c2d25f2d22ef630" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/2591490f4a5ce0326a46d1fe9c2d25f2d22ef630; sha256 = "18maac0b3bd2mkbimfabi6l3qgwgjcb0kxhcwr49lxwqy957pc3c"; }; "28bbe1f3f298b67b16e6c3250676ccc67abd2351" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/28bbe1f3f298b67b16e6c3250676ccc67abd2351; sha256 = "09nciskkwn8scgzy78m69k461gbvf4arl3391nzr68gnavcb9fr0"; }; "2ecf536e01a12c101c4e0452d0f8e0b93335f52e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/2ecf536e01a12c101c4e0452d0f8e0b93335f52e; sha256 = "1fd7mmn8gj9f3zdadnawjnw3agaq1snjn07pw4v52mg1900hcxnq"; }; "2f5dff805652b3d8b490372abac7cf169e09ef28" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/2f5dff805652b3d8b490372abac7cf169e09ef28; sha256 = "0b4hahg0c7k98ay2jzd8cpzn62ih2d8iav5r91sfpm3dxpxjd9n3"; }; "2fbe8b9f21d981be7fc7feab6b26babbae56c00d" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/2fbe8b9f21d981be7fc7feab6b26babbae56c00d; sha256 = "01xa2ip613vpbrjh70miy25ylafxy0074ngvnp703nk7zrz1qrz9"; }; "32a4e27a9ec1a290dc1afd1a3ef89996e7ab80fb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19844439/32a4e27a9ec1a290dc1afd1a3ef89996e7ab80fb; sha256 = "1g07ql8klawwn3dammn9k8bic727qb70p9y62va7swyb0zyc4x7k"; }; "32f31ca36417eeed6bf8cc3fbce7348ac7b52e41" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/32f31ca36417eeed6bf8cc3fbce7348ac7b52e41; sha256 = "07h7ig4y86yfrdlrz663ivrpczi7sppa4v17ab7rr313kq2k3fyn"; }; "3474a7e8565b6695fe2366aff7562c836662623a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3474a7e8565b6695fe2366aff7562c836662623a; sha256 = "0g3chhxg86gfvs3jsgn3akpf791hzvscaps24zhkv2isqapyism6"; }; "3560e903b5b7b80057e172d9f9549c05a5e8bbd5" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3560e903b5b7b80057e172d9f9549c05a5e8bbd5; sha256 = "0gmpfszc249p7jxa3db6z68z02x359cnb0k2k8f5psp8sh87cbrr"; }; "37e0f8fd01b553c89c00c8f5aa2d8381a3a48c6b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20078590/37e0f8fd01b553c89c00c8f5aa2d8381a3a48c6b; sha256 = "167znsiwzrr24wrf4ffliyixn05jkm0aap8s36iagmx051bvdzwg"; }; "396abaee5d5556cb3403c30fb1192591d5d4aedc" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/396abaee5d5556cb3403c30fb1192591d5d4aedc; sha256 = "1wzhh5b6d76cpykms1scjd7pgaw2r2vdijw9vigs5zhsd5nmzzp8"; }; "3c7d4315221080a7b961e1c67e9a7c0239f750a8" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3c7d4315221080a7b961e1c67e9a7c0239f750a8; sha256 = "0b7jwdy4ygkyl20b0n9yksdzfrxcxswyk95hgnapj8pl737m7xa0"; }; "3c969cd5ba9a04fd3638f0cc1c0fdb5b8eda6a66" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3c969cd5ba9a04fd3638f0cc1c0fdb5b8eda6a66; sha256 = "0vdahf31l5qfp2q36gg81ljwq3y72s47nrhvl7aryvvgy0vf2y4z"; }; "3e6548afe63acab3d61e0b8e70890923be33f611" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19918849/3e6548afe63acab3d61e0b8e70890923be33f611; sha256 = "17cns9bhb00g9k9csd2v3s4b8l8y2lga9yqhsfdx4dba5zkbbfgh"; }; "3ee919c00b68e4a3cf74f6bf5793cf5502d23833" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030619/3ee919c00b68e4a3cf74f6bf5793cf5502d23833; sha256 = "0ba7c4kh8s64a4x2qyqq3qkifcnhgvi0fmc3111sxxhlbmhb1dfl"; }; "3f1cc2d71a43bfd78deb4f168c2944df3fbe8c5a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3f1cc2d71a43bfd78deb4f168c2944df3fbe8c5a; sha256 = "0dnh46hbhpd4pplh4yhyngd0wnh5ra52jcfbvyi12h61bp4fz1d9"; }; "3f772232b16a04e19c9517ff87f531a0302d8399" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/3f772232b16a04e19c9517ff87f531a0302d8399; sha256 = "1c0milk0pggd20iq1kdg7kxwsdck6yxj0dnbwx19y2d0v5z9hr6j"; }; "40e37fe0f785296260f1aee5dc54a86a7c164230" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/40e37fe0f785296260f1aee5dc54a86a7c164230; sha256 = "05rbr0cjk1rs2y95qv1lflaly8xsc90qmbnpmlpssqaxbwypk7yj"; }; "425ccac66ed6f46479b54ceea0af7016d6f99919" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/425ccac66ed6f46479b54ceea0af7016d6f99919; sha256 = "0zd80hfqjan38p90xs27vsfkqblzlxmvzsq6hgnyhwkx39qfjhr5"; }; "426f05226c6cde6bd3fed33d7cf0e463e0e2424b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/426f05226c6cde6bd3fed33d7cf0e463e0e2424b; sha256 = "11n0pif370z0js8c2qbbr0hfgdhqn5p3m06l5mkkni5xp865kqs3"; }; "465288017964c079156547eccdb276202ae1c8c5" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/465288017964c079156547eccdb276202ae1c8c5; sha256 = "01gg9j9n3v43004f9xp1bb22gs4bn9sxzcpds87lgpj8kwfcbw75"; }; "49248474b3f9d58089319ee93c8a2f6e4a25e8f7" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20124395/49248474b3f9d58089319ee93c8a2f6e4a25e8f7; sha256 = "0d20ilh5jmmdzrl3y1ziymfz2i3xfziyqqk6rwxsk8gxnl0067ki"; }; "4930d7fce2148660f2e4799177b2575e94c94297" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/4930d7fce2148660f2e4799177b2575e94c94297; sha256 = "0h5425vn1m4ai0hf2hv57pa7i8pz8i9dgfghkircw873ii0sym2l"; }; "4d01a359adb404ac6dae8c29b71bdf8178dc7dd0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/4d01a359adb404ac6dae8c29b71bdf8178dc7dd0; sha256 = "0sk6a6ygbs298jv4f7jxxwrfmzirkyy6zd9zck2ha8iydbam552x"; }; "4f1ec26e30d748e0374ab91e4d597e0372d20486" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19916122/4f1ec26e30d748e0374ab91e4d597e0372d20486; sha256 = "071k2imc5a230xjxd8n7mn5sjid4gc3x39hfk40kz029q8skvfr6"; }; "4f9aae318ca57cf6a0a88ad4eb7dfc8c8853df40" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19993001/4f9aae318ca57cf6a0a88ad4eb7dfc8c8853df40; sha256 = "0awpy1ggnlszxlgy883nlwqqpwsrs94z9v78qrdclzidfhp9b94r"; }; "51c91021bdb575994b4fcda4d4cd32c27b850c6b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19853368/51c91021bdb575994b4fcda4d4cd32c27b850c6b; sha256 = "0252753am5cnkmy1fj359klzvwq0bqw85bsghg4pzhvrch9z3v54"; }; "5223963a1c45b089485ec2b09671f2ae3d94232b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/5223963a1c45b089485ec2b09671f2ae3d94232b; sha256 = "0r6zfxs8h9w5i8f6n48ijgh7wl2cqlfizsag0r9kqkygdkvdbxrc"; }; "587da222974b55e596399af5ef6059d180bf6f10" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/587da222974b55e596399af5ef6059d180bf6f10; sha256 = "1pn7inc30axlzp1x17k5b9agjxzj62vxw58d5al14b6l3vb8755p"; }; "5b600025faf10c7f975477e312aa0f2c04ce227b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/5b600025faf10c7f975477e312aa0f2c04ce227b; sha256 = "1g88v6124s0wnvgc6j6105pcnh36rknrmbmmr20rassza91qfx06"; }; "5fe5d9a591d7d53c5af0ee2839ecac01d2cfa533" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20024751/5fe5d9a591d7d53c5af0ee2839ecac01d2cfa533; sha256 = "0nlq3x3lclwinf582h0m9fdli5c7r353f5wcvnbk29z4ch5ychgb"; }; "605483846f1b68f39562c14fd20828f70f43dffb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19916122/605483846f1b68f39562c14fd20828f70f43dffb; sha256 = "1sl7bkx5fw9644v7z74yz03vl4ghcf6ik9yhb67rsd4am804i1xv"; }; "61912fccaf68d7dd42d66eb780001dd7675aaffd" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/61912fccaf68d7dd42d66eb780001dd7675aaffd; sha256 = "05nzmii2ifz7w8ivfmshpbp93a9z2qd9ppjpsi4l27d1mngkmyab"; }; "65f6bff20c511341adcee76485cf948e9a893ba0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20129639/65f6bff20c511341adcee76485cf948e9a893ba0; sha256 = "1i64rbd9aw7ln6b7al8ki2jcm3wi4b3jj7i8sciqwwk62hxyhgi4"; }; "67c491af49f260bd15197b9d40d9bafb8f893e78" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/67c491af49f260bd15197b9d40d9bafb8f893e78; sha256 = "1q54fwf7rrkcwl9rv97zcpxdhdp9wnrfdvfb22nr6xfyss6wd7jd"; }; "6813c3667846281a0bca118cc1fded10b31e0897" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/6813c3667846281a0bca118cc1fded10b31e0897; sha256 = "084m8v4qynvjs5pg3hrh19cv68ijj76vs02m87cnm21l78fhl3w0"; }; "684934cf830dc58a40ac1d8a2ab8b731aaab2f88" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/684934cf830dc58a40ac1d8a2ab8b731aaab2f88; sha256 = "1r40bpisasn2n2k6y64k5drfhv3zmjfwzn899kk0nlgfsnm0pj56"; }; "684c6de6ab27c5d832c4f00f0c77a0e21f9ba05f" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19860887/684c6de6ab27c5d832c4f00f0c77a0e21f9ba05f; sha256 = "0jsmn0zj4agqdikmfjr8qgyal9nacwwvls2iyclbh9c5zgavspni"; }; "68ce28146f49a47328081133fe3e9f232744e129" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/68ce28146f49a47328081133fe3e9f232744e129; sha256 = "0zv67x91cyrxphcy6mamx2ivd5bxg3pbwvlp8xi45a9z7v5n63qx"; }; "6e027f0c4315cef310e9ce37ef9d67b7a2898a03" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/6e027f0c4315cef310e9ce37ef9d67b7a2898a03; sha256 = "03yabb0zwqf5jl602lhkmwv23vhdrrr7q6xkvyfyw1r5pb9c5nwa"; }; "6f774c936121ec12d9d738bbe812186d68378914" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20238679/6f774c936121ec12d9d738bbe812186d68378914; sha256 = "1sp4fh091h9glj05bv1fmin3cjrhwh7ndi49b0wzq8ml2ms8mi02"; }; "715144b49203e082afc915d7af21a09d1eb7763a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/715144b49203e082afc915d7af21a09d1eb7763a; sha256 = "07xhzfslnq1m853fibwp4gdiqydgm27i90924fa0348y4wvcliji"; }; "71afdfa067fa728787253b67c66536078a9ae8c9" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20124395/71afdfa067fa728787253b67c66536078a9ae8c9; sha256 = "1wvh5kj7k3b3v1mam8ppy5qw4w8f139hkpx5321qvg31jn1dlml4"; }; "71ffe77550ec9724a71894f3f3f15c1e5d5cb7ea" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/71ffe77550ec9724a71894f3f3f15c1e5d5cb7ea; sha256 = "0xva3s647kv02hcscj5vabg251ncp17mj0l9qcnw2378yzz58h24"; }; "73df7fac3abd22986636cb4020e48fa86534325e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/73df7fac3abd22986636cb4020e48fa86534325e; sha256 = "1ih64y80m75phqwi9bj4lq8pya44jn1nzaigy3q96x9lzmc7ynir"; }; "751f43548a68482884b5b080249fd897981e40e5" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19829121/751f43548a68482884b5b080249fd897981e40e5; sha256 = "09rpml3jjjlzimiq1s3zzkk5dbcgx9jrzq66xillx12s4lysdm0p"; }; "763944ded0cf100a9f19e81294c6fffdc09e9f08" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/763944ded0cf100a9f19e81294c6fffdc09e9f08; sha256 = "0s7a2gasg1gqrxjz922y0cyij39wjia74c6dliwx7vdc2rl1bb66"; }; "7c2f0f18191cb1ddbdaecbd0c0c9d8475e1564bb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030635/7c2f0f18191cb1ddbdaecbd0c0c9d8475e1564bb; sha256 = "0s8sksm0rkl07spsfk94j4pp2k0s9ifps56cc3fqkayy7i9wr80c"; }; "7fbde60b7c0ed13f1a964fb0e52939bca7eb1e47" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/7fbde60b7c0ed13f1a964fb0e52939bca7eb1e47; sha256 = "1ygi5b7v0b5slriyj3ai6qsk0a7x93lrknxllcbvv5hbkxkf3rx3"; }; "8030fc1d95280ec322faf94b5d08871046e5d81d" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/8030fc1d95280ec322faf94b5d08871046e5d81d; sha256 = "0w5rricgg1yq5an2kwwm2c6c00mzqil3g0rfgjxkjvqdzrrnjbpb"; }; "813d8877fca0d3295449a98cf5e05f136cd29a27" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19993001/813d8877fca0d3295449a98cf5e05f136cd29a27; sha256 = "1ac4y1vaylwr6686c05ffzh9fidad8nxkim43aasww8nr4q338pc"; }; "845aa08ed8b7e5ebc534b2d94974a9e876356a72" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/845aa08ed8b7e5ebc534b2d94974a9e876356a72; sha256 = "0ls7m9kc9pj58l1zm2ln1f60ifnzsv2pd5sd681kfqi5yfyhg6qb"; }; "8460518ec195fb217c7ae4147368feae83e1234c" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/8460518ec195fb217c7ae4147368feae83e1234c; sha256 = "1bdpbg6j2chjqc0035qr6n3sv8phx3v82j0nghphmrshysqfz742"; }; "84c3933cfbbb39c502816fae6b2a2d3787e8b1a7" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/84c3933cfbbb39c502816fae6b2a2d3787e8b1a7; sha256 = "1d829px1vm86sqlq3hxc18pni0wwwp5pgb593r3lzra1xlgl8yad"; }; "865f9b73bf6ea0a1ad6874b46ad0b7d211cb211b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/865f9b73bf6ea0a1ad6874b46ad0b7d211cb211b; sha256 = "1j0xg2m8a9zyv8jpjmzw3zmppiz55pd839gq97vmlh3wq7kn491j"; }; "878b79c0e33f74631cbfe1a283d3633334c2f3c8" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/878b79c0e33f74631cbfe1a283d3633334c2f3c8; sha256 = "1psp10hpciqj1f1glvv82yqpqx5bny592i9clkjjn6qmg1167v60"; }; "89d4071efc99a5484f7c640a9c1afa47a2d1fbdb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20238679/89d4071efc99a5484f7c640a9c1afa47a2d1fbdb; sha256 = "0py8kicj50ar7s6d6l8p9ab7q46yg2h0g3w8hr92h3g4jl72vb0j"; }; "8ab53d93398210edd49ca8db9d97914932d34d17" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/8ab53d93398210edd49ca8db9d97914932d34d17; sha256 = "0r9k1ssvrpkaqxs4v4s80yxcs13aw15h5psa81dz75qwnygawl15"; }; "8fd9694ff05471d0a432fda9ab84fe7801b6bb82" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-18995656/8fd9694ff05471d0a432fda9ab84fe7801b6bb82; sha256 = "012zvhpwv2x1vp6xrbpxh2w9lzpak7krjmf4r1gy0w68rdpw9w2x"; }; "90304d5adca8643a5ce1afbd52220187e557e172" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/90304d5adca8643a5ce1afbd52220187e557e172; sha256 = "19qwj631l89hl3fvxbl9qa6k9wlbgpnncpjklgz8zqpc1yjk0dbs"; }; "9145457f43415273a70db04c2348a660a2a44d3b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/9145457f43415273a70db04c2348a660a2a44d3b; sha256 = "1yibqds8wl1m0dz21b21mnjrn85aj4q9ss965smxx5k2hc61syxs"; }; "9402ca85a8aed377ddb49e045dc6ee7467806e68" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19908317/9402ca85a8aed377ddb49e045dc6ee7467806e68; sha256 = "1qfzv5aqvcsla0ws3nhksnb1i9d6mdl4s6010v23r3zy9mf0wfbm"; }; "95e750d6fbdcbe246d40d395ff00a63cbeb6511a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/95e750d6fbdcbe246d40d395ff00a63cbeb6511a; sha256 = "0s70n5nynz82ayskvq5pwbx20c1a531mkzwwd6vsvq49y51bkxsw"; }; "9b2b4b0bb95816faf095a7fc798072eb348a36f0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/9b2b4b0bb95816faf095a7fc798072eb348a36f0; sha256 = "1g97a7zmrkamfyw11g9qci3js4cwhs1srf1lanffxwqi3c9pp6rz"; }; "9ef34fa4661b771db262d82686b489458ace8ae4" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19806509/9ef34fa4661b771db262d82686b489458ace8ae4; sha256 = "1fpp96yba774xirf7kgc0wakpd8sppkac9q7p643s726kivjgvll"; }; "9f83b767bca37a38abc22df3df60f3a9db10f110" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/9f83b767bca37a38abc22df3df60f3a9db10f110; sha256 = "19zxds41dlpri7b411mfpfa0p08srr3mgn9xppciffpp7j3454sn"; }; "a1526ba52047bb42fa88c471c296d078739335cb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20027477/a1526ba52047bb42fa88c471c296d078739335cb; sha256 = "0fa1aygsgy5bgdpdap66s9z0aq7r1j08jv0lcmrnxaamiy3h16qx"; }; "a19cd74753624c2cbd304a6672ace0c091904f30" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19844439/a19cd74753624c2cbd304a6672ace0c091904f30; sha256 = "1cjz6vfxslkhyqqp9v3xgq50bq9bhk0mrhgi2pnm0w336k9kc3v8"; }; "a1cf4b2477b915226b6eeadec9121f6bbab2d5b5" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/a1cf4b2477b915226b6eeadec9121f6bbab2d5b5; sha256 = "0sk9v4lg5hfs8jy3819nqgzy3amvcabjxcijhvl0z95xcfqp5g5m"; }; "a1e551d4fb9ed17601bc45ea2f6902d6dce7d0be" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20078590/a1e551d4fb9ed17601bc45ea2f6902d6dce7d0be; sha256 = "1ng6xzg6i4f1s1gpzkrvb6qrpmpnsp3qp958dki197p588axqi32"; }; "a49713c723dd6b38894ab09e9482f18f27d34c53" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/a49713c723dd6b38894ab09e9482f18f27d34c53; sha256 = "0d44l1hqsf46ivg1brv59i271p3y52n2x8iarafjc75mm5kfd6l4"; }; "a500e68cc7fec8520ba471f5a14a57ce41a19f6d" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19908317/a500e68cc7fec8520ba471f5a14a57ce41a19f6d; sha256 = "0nq1qbrgc19rpj2gh4f3zww71flaws34ygjwq0q9r62hhv12p3z5"; }; "a761a9a28165d457c11ad04f6320bee2d29b5a82" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/a761a9a28165d457c11ad04f6320bee2d29b5a82; sha256 = "1i9kb0jpf3kixshjx940bhwz3g1cdwbh60lfzsykw1q05vachfz9"; }; "a80f984c97f7e5dc60c7f0b271287b8ccf38060e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20129405/a80f984c97f7e5dc60c7f0b271287b8ccf38060e; sha256 = "0vv8l83ad744ffb4hiwxwlw7bnzx7cjmp8lk4hr5c9pq4v85x11l"; }; "aa358f5dc8c65d919ca689009f87106307687dab" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/aa358f5dc8c65d919ca689009f87106307687dab; sha256 = "0kqhjq44ipiqssa9lgy7rz79pwdcnx7yfdvpj6gya6x1qxgq7f0m"; }; "ab5f17d72b83353f18fba55c822fec659a5d1c0b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/ab5f17d72b83353f18fba55c822fec659a5d1c0b; sha256 = "1wjdmgw5mi5l0wxxx3ibbk6kifih3i9k9sy6psfzvqf1wby9kdck"; }; "ac6d0862a0018b5ef525e02b252a2f782f599e55" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/ac6d0862a0018b5ef525e02b252a2f782f599e55; sha256 = "1j1s9fypmidn25wdb3qqyks3fy4l0bavjk67x4p6w8hxbckj3rbx"; }; "ac7b86a5a7a8de09585def5a10136f3e81508116" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/ac7b86a5a7a8de09585def5a10136f3e81508116; sha256 = "1mm9cbh82xy2n7x8gfd70g4w7rnh7ig3kx895cqvf45llwwpspyb"; }; "ae8c355f89ca568a6bf0e19aa8a891a142420434" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20124102/ae8c355f89ca568a6bf0e19aa8a891a142420434; sha256 = "1prnakwdlvc368ql54a4swx8wwfwbdw69y05rjwvs3x3hwxfq8j4"; }; "afed16e5085adf0bc2f63839bf482feebbaab1c4" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/afed16e5085adf0bc2f63839bf482feebbaab1c4; sha256 = "1fkibp6ivgh55ig82s4q8rkygqcv9ynwkra4lsrpx8hjsbry18p9"; }; "b00589b668bd65a0662e3c7f710bd8d8d7642446" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/b00589b668bd65a0662e3c7f710bd8d8d7642446; sha256 = "0gbf048j7jj6p6wrzpdp8daj8d8nrz7i70hs0d9ywx5vcqscjdb6"; }; "b0aff33390f3b40adaf4bebe6bc6496edbecca67" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20160336/b0aff33390f3b40adaf4bebe6bc6496edbecca67; sha256 = "0awaa92bm06i02i5rv61sxj8243h139jhzmkjn5dkmizp3wi1jbj"; }; "b0c39a97c1540176c875f66697831175cf36bbd0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20223171/b0c39a97c1540176c875f66697831175cf36bbd0; sha256 = "11c4p7829pjr6p1i02c52lp2ql5mrnpyslqx65knld8cjl995516"; }; "b0e6c6c0792ed25d0ec1d1bd2b2ab2647ca1a3a2" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19893350/b0e6c6c0792ed25d0ec1d1bd2b2ab2647ca1a3a2; sha256 = "0qgfby2jah09zssm3sympq7ggdaq0g8d54swh5afr5w0p2nniy3h"; }; "b0e7c5300d1afcd66c58e1b76ed102720640c2c1" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/b0e7c5300d1afcd66c58e1b76ed102720640c2c1; sha256 = "0r4gw474zsqwkqqql6blfrvwjarr5y5qzvyphivsz0lmy0szaw81"; }; "b528ed44da6eafd0512332644af577ed158cb0d3" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/b528ed44da6eafd0512332644af577ed158cb0d3; sha256 = "0z3yk755lmniasqacn9znrq4w6j6q506w7sb35wzysjizpbyk05s"; }; "b667d7d5f835a24f783d1e4874139ddcb6fac653" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/b667d7d5f835a24f783d1e4874139ddcb6fac653; sha256 = "1w1i6hjcrq1s2qa9lbfvkzb8yh70rv7k0g6k2kkh31ly3g9nn7g6"; }; "b70c31465bdeef81f0560ffc25ec329ed64bbf56" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/b70c31465bdeef81f0560ffc25ec329ed64bbf56; sha256 = "0205gp801k92dag0kb952z2ipx0xs2zg79wn9i70vhsnlhg0frba"; }; "b75d5549ea083b8afa5a82a6aa8c15359f3cdf92" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/b75d5549ea083b8afa5a82a6aa8c15359f3cdf92; sha256 = "00gmljv2pgbm7b97lacwyma6la55jjwry9x3bymkjbkx86hhlh7f"; }; "baa882d509ddd4be7a5e8054a394931e63635d01" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/baa882d509ddd4be7a5e8054a394931e63635d01; sha256 = "05paif2g7p7brf8vb5j755sg4kfkkxj1w85qwd4vcrks6p4sswrq"; }; "bbaf105dd3329e341b63558147c4073c5c664999" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/bbaf105dd3329e341b63558147c4073c5c664999; sha256 = "03vqhj10a7xikk6sb6dx5p0sa01f8q62aq3qb7a38im9kcmffi86"; }; "bc4328f467379c525a66dbde9397774369d44af1" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19947427/bc4328f467379c525a66dbde9397774369d44af1; sha256 = "0q0vv6xj02v1k9hi867qv2i29b1yksj78qbl1x17m2kxik0bzpzx"; }; "bc87243959c75498f58f96f93863a7c1482450c0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19993001/bc87243959c75498f58f96f93863a7c1482450c0; sha256 = "19lxdigikz1m4qdc8q4laj5pmdvw5y5lb0sqnlxaicyp1i83fqps"; }; "bdd865401b431c251b06f1ba5ab7b45574ef5741" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19814077/bdd865401b431c251b06f1ba5ab7b45574ef5741; sha256 = "0xb8vdmvsylq9biadwcvji0hna5046iz1gx0qfy5zd4yacjy06c2"; }; "bfde0d90e9b4991a440994a2cfb5b8925cb35987" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/bfde0d90e9b4991a440994a2cfb5b8925cb35987; sha256 = "1dlm2sxpiy6fjml0a6bwlang4v96vkcv7i55qk0hhdpnwv0qhs60"; }; "c378ae4e4f0fa4135f28ca01acabc2fe4644c10f" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/c378ae4e4f0fa4135f28ca01acabc2fe4644c10f; sha256 = "089rmgn47ilr64x12h3p6brs21kxvzkp79i08rk52a6jqby703s8"; }; "c39242ac5804138d302224edc34e0a2f8d807a68" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/c39242ac5804138d302224edc34e0a2f8d807a68; sha256 = "02kfjlmvywnn4qmwp4i17hrvqqsviz58pwl76vq838qn383mjc1j"; }; "c67cabfc94751933e7124aa7f6e1b21ae8a6b4ee" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030635/c67cabfc94751933e7124aa7f6e1b21ae8a6b4ee; sha256 = "1cp9rbgj4arxh6l8fg5c8b1nkhbfhv6yr2jnrhnr6alkjclx2yhm"; }; "c6ec89ef83019e4e136139b4f9c8474ca2ff007d" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/c6ec89ef83019e4e136139b4f9c8474ca2ff007d; sha256 = "0psmjp78a3sh29yldfv92dcbm5p9nryqjz9pp2p89a3wv42zkidi"; }; "c9c89bd7af4c6c657593b7bbe8a33e2efba0b590" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/c9c89bd7af4c6c657593b7bbe8a33e2efba0b590; sha256 = "0xfd2hnkmk1gk9pxfgfs1l84gzk48wlxqb5mggq01n5jdz43sn8c"; }; "ca0372aafe1e08db02cf3e6cf5a88912479c4b14" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20030619/ca0372aafe1e08db02cf3e6cf5a88912479c4b14; sha256 = "0spi0cccxcc4jq01ybdlqc2f75pcarhygjxs30k8048jnqzp57wv"; }; "cbc069c18f4c2dfb3ff6ca78c9a46ed0882c89bb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/cbc069c18f4c2dfb3ff6ca78c9a46ed0882c89bb; sha256 = "194lh1f8xknz3hzpd3j9rm2q1q3b2zbv55ycqfmpy0irgqlkmnjn"; }; "cbe44a59e471f154c9856e62e765935be3f1455e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/cbe44a59e471f154c9856e62e765935be3f1455e; sha256 = "1n6791yzbfd87fcmdysz7apc6gc43ydmm0aizpdi4wpm4ah0lfh6"; }; "cd4e2b157ed0d0cd7a5c4480821c90f7d3a127ef" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19935464/cd4e2b157ed0d0cd7a5c4480821c90f7d3a127ef; sha256 = "1sq9pg0c81b1qqxls8ly2rrxq1app625nnw46rjx06xjl9znaahh"; }; "cd9a600a5bd71c2e79d85e56f84b87d8a5cbe0ef" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/cd9a600a5bd71c2e79d85e56f84b87d8a5cbe0ef; sha256 = "1jlh194c3lwgmawh78syrl1n9wgg520qi7bcjqcp1p651h31i0wr"; }; "ce9ed5f987ac4da35f0cfc146e0d3e8cf3b0ce1c" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19916122/ce9ed5f987ac4da35f0cfc146e0d3e8cf3b0ce1c; sha256 = "1zzk3302qdpyma9z069gabgyv53wnhvqq66d5vqyk3kcrzb8w4i5"; }; "cea24141620c11c7839e0a4e4b4ab05e934a7b15" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/cea24141620c11c7839e0a4e4b4ab05e934a7b15; sha256 = "16pn1sx20f1hw5zmwwydw7r2jk396mx0kj5ahqkpv3qwwn5pmxd4"; }; "cee48f44e1e97ef1b925024d497b271205332cfe" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19814077/cee48f44e1e97ef1b925024d497b271205332cfe; sha256 = "16nmjydwsg52pyzgrr0f45ly9sj74a22z9w9raxlrp93i9cqavbs"; }; "d03397ebd60def8d16f65f0d732d67927819ba76" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/d03397ebd60def8d16f65f0d732d67927819ba76; sha256 = "0hgsmnqfhxsmdxwv0ri6jknjz2jp3jj579kp530ls15k43lzjsx8"; }; "d2522dff7731cd5d3a4fbd3737913f76bb072bd7" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/d2522dff7731cd5d3a4fbd3737913f76bb072bd7; sha256 = "1qbhwm4x98g6khbnaw0ay65q3mnza0lavmc3bwwsnwzw97l4g71w"; }; "d38c9c4bd5f7bb2be818d0e97d434614259b498e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19993001/d38c9c4bd5f7bb2be818d0e97d434614259b498e; sha256 = "1326rmapi5drpvvy0c9srg7bzqpl6iw93ilffh3drk8m0rvkp5m3"; }; "d3b083b3435fabb9694eea646e5ea3defb2f43fb" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/d3b083b3435fabb9694eea646e5ea3defb2f43fb; sha256 = "1cdclg5k8abdsclz7w2j3bgs6qfyv501fc2p3g6xmssd66ygy0aj"; }; "d5b4a7cd40f9134c4b0be5834cc088cb81bee03b" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20177892/d5b4a7cd40f9134c4b0be5834cc088cb81bee03b; sha256 = "1j5ha3siaflc6jpjxrldwdf0snyx0scjgs4vbjbsx5ymgnbv1xfd"; }; "d6df813c80e223aadfd0189641263dc366d45ec6" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/d6df813c80e223aadfd0189641263dc366d45ec6; sha256 = "0blmf87q40m24va65sv2wxxkwij6bhsmlqbgy3lxyzvn1p3ixdlk"; }; "d9494014daefd6bfe80e9491d16d2f1b5c4679e0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/d9494014daefd6bfe80e9491d16d2f1b5c4679e0; sha256 = "1fcmmabia94aj8kqbw3zwibyhhxbyfz0nxj1i1z5p7ljfgjz0nwj"; }; "dc5b0f5832c8141fce3da856bbd279bad2fb05aa" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/dc5b0f5832c8141fce3da856bbd279bad2fb05aa; sha256 = "081zy83swn28fpnzzdi9xcihks7wv5ggwh7qjj331dyxb0rvhian"; }; "dd2448c177243001c74910fa40ea0bce6e9bdb75" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/dd2448c177243001c74910fa40ea0bce6e9bdb75; sha256 = "1s18pnlxx9v07s18dpp6ih3vx72ylyx0kh8y9jnkcxas4cda31kc"; }; "e0176b1597d2447a42489abbadf22f934c8d1e5d" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/e0176b1597d2447a42489abbadf22f934c8d1e5d; sha256 = "1rzss53b8p3p4vipdz1y4py9cvjcd4wsclngk9vqrhzfjp4kc3ik"; }; "e7ace73cc39eeb0f710581384b079c0bf9c188f0" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940140/e7ace73cc39eeb0f710581384b079c0bf9c188f0; sha256 = "0fkxy7pjyp5ix4njc3ql6l35cl8valqnv62hdqsn3apy4hhb3nrz"; }; "eb5bc2f1cdac89e5cffa54570fc269af0c93a336" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19940216/eb5bc2f1cdac89e5cffa54570fc269af0c93a336; sha256 = "0l98nldy9dcvldvrsi9m20v5lfbhp6v5bmissdpr4x10dp2knqw7"; }; "ec4ba8e94938dfb8c8683cb5dacc9fa44a3eceee" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/ec4ba8e94938dfb8c8683cb5dacc9fa44a3eceee; sha256 = "1pqkpylbs03zmkkrgggry7nn7b41wbwfmf8p5nngswvhxqhwz0w9"; }; "eef325920fb0ec835626eb431958ab9be9a34e50" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/eef325920fb0ec835626eb431958ab9be9a34e50; sha256 = "1gjw3ik97n4a4cdp5y8izgxshrmk7nr17lj23c842f971jbyppm1"; }; "ef6d7bc419b3d58eedef14285d071ba84ec0c153" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20146195/ef6d7bc419b3d58eedef14285d071ba84ec0c153; sha256 = "0nx9s7w9rsswvdfg6yc9200xka19mr66c54nz1x6jxf67w5qbv59"; }; "f0adf99dc5f856c44f645e4d683384b905b66e06" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/f0adf99dc5f856c44f645e4d683384b905b66e06; sha256 = "1ll0kpw86y0hk2gp0488w09r3ihxr18zhmj12k0l6gxaj3ggzss7"; }; "f14525294ade82c23d696ee389a675416343942a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/f14525294ade82c23d696ee389a675416343942a; sha256 = "1028b298szb0bhjv9wibf8rb5va3gha261lzarsk85cw6xpp00ss"; }; "f30450ea10642708b617609bd68b57f60eda2b09" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/f30450ea10642708b617609bd68b57f60eda2b09; sha256 = "02mwn12hi042q0xnp627vnmsl0mzjv75nfrwn4bbskxsmjn5y928"; }; "f3800d8885de355be6e433bf584ef8f457ca8621" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20223171/f3800d8885de355be6e433bf584ef8f457ca8621; sha256 = "02ngf3xb3qcxqpch998jyfapqc1vjp43xwracq6j4xqn8qiz1h18"; }; "f9631134ae1e817c0ef8d2c1130c4b326bb4a5be" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/f9631134ae1e817c0ef8d2c1130c4b326bb4a5be; sha256 = "0pzfcc2khahyy7jzal8qmzmnv44wj0qm1jwnf62frp1nxkhl9wv4"; }; "face4e1fa14b721bbe61e3feca6409a72b7a1e3e" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/face4e1fa14b721bbe61e3feca6409a72b7a1e3e; sha256 = "10v5cip214qan4qqf0yg9frgl4vbd1sifc70py65wgch2css6hp2"; }; "fb103d33cfc87997e402ee2628733b39ed09f001" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20257340/fb103d33cfc87997e402ee2628733b39ed09f001; sha256 = "08wcm83ilv7078sfda28pph6wsn8kwbk4mbyqrpbgai5r9kc4l1n"; }; "fd10b4254d2f9147a336223e932786563603c46a" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-19687069/fd10b4254d2f9147a336223e932786563603c46a; sha256 = "03wyk4q6v971yz6rfn3946162pjrsywg9f84sg54y3lgjniy850y"; }; "fd725978359f87b76f34f76ca9662a3b3bc916c2" = fetchurl { url = http://cdn.unrealengine.com/dependencies/UnrealEngine-20070645/fd725978359f87b76f34f76ca9662a3b3bc916c2; sha256 = "1jhfp2qlm5jhgh161wqny53bijnc84lcwkv9sh51z4qsga0lpx3b"; };

No luck, same problem making C++ projects with 5.0.2 as with 5.0.1: UnrealBuildTool tries to modify something in the store.

ERROR: Unhandled exception: System.UnauthorizedAccessException: Access to the path '/nix/store/9dsk0qz55b7yvfzjfjw3m46p7xdj68f4-ue5-unwrapped-5.0.2/Engine/Intermediate/Build/XmlConfigCache.bin' is denied. ``` Running /home/user/.config/unreal-engine-nix-workdir/Engine/Build/BatchFiles/Linux/Build.sh -projectfiles -project="/home/user/documents/Unreal Projects/Cpp502/Cpp502.uproject" -game -engine -progress Running command : dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll -projectfiles -project=/home/user/documents/Unreal Projects/Cpp502/Cpp502.uproject -game -engine -progress ERROR: Unhandled exception: System.UnauthorizedAccessException: Access to the path '/nix/store/9dsk0qz55b7yvfzjfjw3m46p7xdj68f4-ue5-unwrapped-5.0.2/Engine/Intermediate/Build/XmlConfigCache.bin' is denied. ---> System.IO.IOException: Permission denied --- End of inner exception stack trace --- at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.IO.File.Open(String path, FileMode mode, FileAccess access, FileShare share) at UnrealBuildTool.XmlConfigData.Write(FileReference Location) in /build/UnrealEngine-5.0.2-release/Engine/Source/Programs/UnrealBuildTool/System/XmlConfigData.cs:line 149 at UnrealBuildTool.XmlConfig.ReadConfigFiles(FileReference OverrideCacheFile) in /build/UnrealEngine-5.0.2-release/Engine/Source/Programs/UnrealBuildTool/System/XmlConfig.cs:line 148 at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in /build/UnrealEngine-5.0.2-release/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.cs:line 541 ```

Perhaps if i could open a nix-shell in the wrapper environment i could run UnrealBuildTool by hand, or possibly modify it to correctly write to ~/.config/unreal-engine-nix-workdir/ as intended? Idk how to do that though.

@juliosueiras what "tweaks" did you use to get C++ projects working?

juliosueiras commented 2 years ago

@dyaso yea, the error is cause because we need to remove a few specific files/directory in the linkage, to let UE rebuild again because UE like to modify itself

juliosueiras commented 2 years ago

will take a look at the hotfix release

dyaso commented 2 years ago

Managed to get it creating a C++ project without errors: I used this script

#!/bin/sh

replace_with_store_copy () {
    config_copy="$HOME/.config/unreal-engine-nix-workdir/$1"

    if [[ -L $config_copy ]]; then
        store_copy=$(readlink $config_copy)
        unlink $config_copy
        cp $store_copy $config_copy
        chmod +w $config_copy
    fi
}

while IFS= read -r line; do
    replace_with_store_copy $line
done < "$1"

to replace these files with the store copies

Engine/Intermediate/Build/XmlConfigCache.bin
Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll
Engine/Intermediate/Build/BuildRules/UE5Rules.dll
Engine/Intermediate/Build/BuildRules/UE5RulesManifest.json
Engine/Intermediate/Build/BuildRules/UE5ProgramRules.dll
Engine/Intermediate/Build/BuildRules/UE5ProgramRulesManifest.json

Unfortunately the IDE (vscode) that then opens says "Make not found.", and trying to compile the project from within the editor produces

ERROR: Unhandled exception: System.UnauthorizedAccessException: Access to the path '/home/user/.config/unreal-engine-nix-workdir/Engine/Intermediate/Build/SourceFileCache.bin' is denied.

Before i try replacing a bunch more things: is this similar to the "tweaks" you did, or am i going down the wrong path?

vlinkz commented 2 years ago

Downloading the binary from https://www.unrealengine.com/en-US/linux, and just running DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 steam-run ./Engine/Binaries/Linux/UnrealEditor everything seemed to work out of the box, including c++ projects and vscode! Screenshot from 2022-07-20 14-23-04

juliosueiras commented 2 years ago

@vlinkz that would be one option(though the issue mostly would be the fact that it will be binary package, the steam-run is not much of a big issue)

juliosueiras commented 2 years ago

(I am fine with the binary approach, since it would be smaller and faster)

juliosueiras commented 2 years ago

(XD just realize, it will still be the same issue, since you are running directly, but the package will be in nix store and Unreal like to edit the engine in-place)

vlinkz commented 2 years ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

frantisekhanzlikbl commented 2 years ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

Please note that, at the moment, Epic doesn't include Quixel Bridge in the precompiled binaries which EAM also uses, so it is still pretty important to get it compiling with nix.

devhell commented 1 year ago

Hey, this is awesome! I'd love to be able to use UE5 on NixOS. Has there been any progress?

RusticCraftsman commented 1 year ago

Downloading the binary from https://www.unrealengine.com/en-US/linux, and just running DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 steam-run ./Engine/Binaries/Linux/UnrealEditor everything seemed to work out of the box, including c++ projects and vscode! Screenshot from 2022-07-20 14-23-04

Not in my case, in my case it crashes, im trying to use 5.2, the error is the following

[2023.06.11-21.22.31:155][  0]LogCore: Error: appError called: Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 1017] 
VulkanRHI::vkCreateQueryPool(Device->GetInstanceHandle(), &PoolCreateInfo, VULKAN_CPU_ALLOCATOR, &QueryPool) failed, VkResult=-2
 at ./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52 
 with error VK_ERROR_OUT_OF_DEVICE_MEMORY
0x00007f23893396e9 libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:1016]
0x00007f23892e25b3 libUnrealEditor-VulkanRHI.so!FVulkanQueryPool::FVulkanQueryPool(FVulkanDevice*, FVulkanCommandBufferManager*, unsigned int, VkQueryType, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52]
0x00007f23892ed95c libUnrealEditor-VulkanRHI.so!FVulkanRayTracingCompactionRequestHandler::FVulkanRayTracingCompactionRequestHandler(FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRayTracing.cpp:1165]
0x00007f2389260891 libUnrealEditor-VulkanRHI.so!FVulkanDevice::InitGPU() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1266]
0x00007f23892fb290 libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:751]
0x00007f23892faf5d libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:256]
0x00007f244612c26e libUnrealEditor-RHI.so!RHIInit(bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/DynamicRHI.cpp:347]
0x0000000000253481 UnrealEditor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:3207]
0x0000000000249f62 UnrealEditor!GuardedMain(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/Launch.cpp:140]
0x00007f24420c79ba libUnrealEditor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
0x00007f2441dfc24e libc.so.6!UnknownFunction(0x2924d)
0x00007f2441dfc309 libc.so.6!__libc_start_main(+0x88)
0x0000000000236749 UnrealEditor!_start()

My system is good enough to run unreal engine, so i dont think is my hardware

RusticCraftsman commented 1 year ago

Downloading the binary from https://www.unrealengine.com/en-US/linux, and just running DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 steam-run ./Engine/Binaries/Linux/UnrealEditor everything seemed to work out of the box, including c++ projects and vscode! Screenshot from 2022-07-20 14-23-04

Not in my case, in my case it crashes, im trying to use 5.2, the error is the following

[2023.06.11-21.22.31:155][  0]LogCore: Error: appError called: Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 1017] 
VulkanRHI::vkCreateQueryPool(Device->GetInstanceHandle(), &PoolCreateInfo, VULKAN_CPU_ALLOCATOR, &QueryPool) failed, VkResult=-2
 at ./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52 
 with error VK_ERROR_OUT_OF_DEVICE_MEMORY
0x00007f23893396e9 libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:1016]
0x00007f23892e25b3 libUnrealEditor-VulkanRHI.so!FVulkanQueryPool::FVulkanQueryPool(FVulkanDevice*, FVulkanCommandBufferManager*, unsigned int, VkQueryType, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52]
0x00007f23892ed95c libUnrealEditor-VulkanRHI.so!FVulkanRayTracingCompactionRequestHandler::FVulkanRayTracingCompactionRequestHandler(FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRayTracing.cpp:1165]
0x00007f2389260891 libUnrealEditor-VulkanRHI.so!FVulkanDevice::InitGPU() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1266]
0x00007f23892fb290 libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:751]
0x00007f23892faf5d libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:256]
0x00007f244612c26e libUnrealEditor-RHI.so!RHIInit(bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/DynamicRHI.cpp:347]
0x0000000000253481 UnrealEditor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:3207]
0x0000000000249f62 UnrealEditor!GuardedMain(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/Launch.cpp:140]
0x00007f24420c79ba libUnrealEditor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
0x00007f2441dfc24e libc.so.6!UnknownFunction(0x2924d)
0x00007f2441dfc309 libc.so.6!__libc_start_main(+0x88)
0x0000000000236749 UnrealEditor!_start()

My system is good enough to run unreal engine, so i dont think is my hardware

may not be valid, my dedicated GPU was not working at that time without knowing it, so the error could have been caused by that, no clue

hussein-aitlahcen commented 1 year ago

Downloading the binary from https://www.unrealengine.com/en-US/linux, and just running DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 steam-run ./Engine/Binaries/Linux/UnrealEditor everything seemed to work out of the box, including c++ projects and vscode! Screenshot from 2022-07-20 14-23-04

Not in my case, in my case it crashes, im trying to use 5.2, the error is the following

[2023.06.11-21.22.31:155][  0]LogCore: Error: appError called: Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 1017] 
VulkanRHI::vkCreateQueryPool(Device->GetInstanceHandle(), &PoolCreateInfo, VULKAN_CPU_ALLOCATOR, &QueryPool) failed, VkResult=-2
 at ./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52 
 with error VK_ERROR_OUT_OF_DEVICE_MEMORY
0x00007f23893396e9 libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:1016]
0x00007f23892e25b3 libUnrealEditor-VulkanRHI.so!FVulkanQueryPool::FVulkanQueryPool(FVulkanDevice*, FVulkanCommandBufferManager*, unsigned int, VkQueryType, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52]
0x00007f23892ed95c libUnrealEditor-VulkanRHI.so!FVulkanRayTracingCompactionRequestHandler::FVulkanRayTracingCompactionRequestHandler(FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRayTracing.cpp:1165]
0x00007f2389260891 libUnrealEditor-VulkanRHI.so!FVulkanDevice::InitGPU() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1266]
0x00007f23892fb290 libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:751]
0x00007f23892faf5d libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:256]
0x00007f244612c26e libUnrealEditor-RHI.so!RHIInit(bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/DynamicRHI.cpp:347]
0x0000000000253481 UnrealEditor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:3207]
0x0000000000249f62 UnrealEditor!GuardedMain(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/Launch.cpp:140]
0x00007f24420c79ba libUnrealEditor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
0x00007f2441dfc24e libc.so.6!UnknownFunction(0x2924d)
0x00007f2441dfc309 libc.so.6!__libc_start_main(+0x88)
0x0000000000236749 UnrealEditor!_start()

My system is good enough to run unreal engine, so i dont think is my hardware

may not be valid, my dedicated GPU was not working at that time without knowing it, so the error could have been caused by that, no clue

This works for me on NixOS with RTX 4050

devhell commented 1 year ago

Just tried it, doesn't seem to work with Wayland atm. :cry:

RusticCraftsman commented 1 year ago

Downloading the binary from https://www.unrealengine.com/en-US/linux, and just running DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 steam-run ./Engine/Binaries/Linux/UnrealEditor everything seemed to work out of the box, including c++ projects and vscode! Screenshot from 2022-07-20 14-23-04

Not in my case, in my case it crashes, im trying to use 5.2, the error is the following

[2023.06.11-21.22.31:155][  0]LogCore: Error: appError called: Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 1017] 
VulkanRHI::vkCreateQueryPool(Device->GetInstanceHandle(), &PoolCreateInfo, VULKAN_CPU_ALLOCATOR, &QueryPool) failed, VkResult=-2
 at ./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52 
 with error VK_ERROR_OUT_OF_DEVICE_MEMORY
0x00007f23893396e9 libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:1016]
0x00007f23892e25b3 libUnrealEditor-VulkanRHI.so!FVulkanQueryPool::FVulkanQueryPool(FVulkanDevice*, FVulkanCommandBufferManager*, unsigned int, VkQueryType, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanQuery.cpp:52]
0x00007f23892ed95c libUnrealEditor-VulkanRHI.so!FVulkanRayTracingCompactionRequestHandler::FVulkanRayTracingCompactionRequestHandler(FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRayTracing.cpp:1165]
0x00007f2389260891 libUnrealEditor-VulkanRHI.so!FVulkanDevice::InitGPU() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1266]
0x00007f23892fb290 libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:751]
0x00007f23892faf5d libUnrealEditor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanRHI.cpp:256]
0x00007f244612c26e libUnrealEditor-RHI.so!RHIInit(bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/DynamicRHI.cpp:347]
0x0000000000253481 UnrealEditor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:3207]
0x0000000000249f62 UnrealEditor!GuardedMain(char16_t const*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Launch/Private/Launch.cpp:140]
0x00007f24420c79ba libUnrealEditor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
0x00007f2441dfc24e libc.so.6!UnknownFunction(0x2924d)
0x00007f2441dfc309 libc.so.6!__libc_start_main(+0x88)
0x0000000000236749 UnrealEditor!_start()

My system is good enough to run unreal engine, so i dont think is my hardware

may not be valid, my dedicated GPU was not working at that time without knowing it, so the error could have been caused by that, no clue

Working using new nvidia official method nvidia-offload instead of now deprecated bumblebee on x11, running the following command:

DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 nvidia-offload steam-run ./Engine/Binaries/Linux/UnrealEditor

nvidia-offload in my case is just a script located in path that set the following env variables:

__NV_PRIME_RENDER_OFFLOAD=1
__NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
__GLX_VENDOR_LIBRARY_NAME=nvidia
__VK_LAYER_NV_optimus=NVIDIA_only

my laptop has a 1060 MOBILE and an i7-8750H with 16 gigs, so if you got a similar setup, this should work.

TheOddler commented 6 months ago

Using DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 nvidia-offload steam-run ./Engine/Binaries/Linux/UnrealEditor I can start the editor, create a project, and open it. But then when I press play it just crashes. I have a laptop with RTX 3050.

HammyHavoc commented 5 months ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

Did this end up being the case? Is anyone successfully using UE5 on NixOS beyond just seeing if they can?

Murazaki commented 4 months ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

Did this end up being the case? Is anyone successfully using UE5 on NixOS beyond just seeing if they can?

I got it to work somehow with a nix shell, but I don't see myself using it for production like this. It also seems like some features were not working well because not properly ported to linux and Vulkan on Nvidia GPUs for instance. It seems it might work better on an Ubuntu based distro though. If anyone has more news please share them.

KingKrouch commented 3 months ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

One of the developers of the app is considering adding prefixes and subfixes to launch options for the engine, so that means that one could hypothetically use Steam-run or launch the engine inside of a Distrobox container very easily once that is implemented. I think this would probably be a good approach for running the engine.

johanno commented 2 months ago

Maybe instead packaging something like Epic Asset Manager would be better. I heard the dev mention that with the new binary releases, they were planning on implementing direct downloads and version management in the app

Did this end up being the case? Is anyone successfully using UE5 on NixOS beyond just seeing if they can?

I mean I am just looking here for the exact same reason. However I managed to get UE5 running using Lutris on Debian once. So I think this would be a (bad performing) backup plan. It crashes sometimes and is a bit laggy, but overall usable with proton.

EDIT: I did not manage to get UE_5.4.4 running. The most I managed before crashing was loading a project, but it crashes when it is almost done loading.

I am back to compile from sources, since running the binaries in nixos does not work for what ever reason.

johanno commented 2 months ago

Ok little update on compiling from sources:

pkgs.mkShell {
  packages = with pkgs; [
    stdenv.cc.cc
    bash
    curl
  ];

  shellHook = ''
     # get unreal source code.
     cd UnrealEngine
     steam-run Setup.sh
     # will fail on curl missing ca file for server.
     # search for curl in files with type shell script in dolphin....
     # probably Engine/Build/BatchFiles/Linux/SetupToolchain.sh // add -k to curl call to skip verification
     steam-run GenerateProjectFiles.sh
     steam-run make
     # once build you can run Engine/Binaries/Linux/UnrealEditor with steam-run
  '';
}

I managed to compile it from the sources. I made 5.4.4 working and have been able to load a project and run around in it. I don't know if anything else is not working, but it takes forever of course to compile. Well maybe I will now get around learning UE and see what linux is lacking.

johanno commented 2 months ago

And in case you want to rebuild your stuff with vs code rename Engine/Build/BatchFiles/Linux/Build.sh and replace it with this:

#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
steam-run $SCRIPT_DIR/Build.orig.sh $@

or probably just better run vs code in steam-run env.

Murazaki commented 2 months ago

Ok little update on compiling from sources:

pkgs.mkShell {
  packages = with pkgs; [
    stdenv.cc.cc
    bash
    curl
  ];

  shellHook = ''
     # get unreal source code.
     cd UnrealEngine
     steam-run Setup.sh
     # will fail on curl missing ca file for server.
     # search for curl in files with type shell script in dolphin....
     # probably Engine/Build/BatchFiles/Linux/SetupToolchain.sh // add -k to curl call to skip verification
     steam-run GenerateProjectFiles.sh
     steam-run make
     # once build you can run Engine/Binaries/Linux/UnrealEditor with steam-run
  '';
}

I managed to compile it from the sources. I made 5.4.4 working and have been able to load a project and run around in it. I don't know if anything else is not working, but it takes forever of course to compile. Well maybe I will now get around learning UE and see what linux is lacking.

That's great and all but we (NixOS or the community) can't distribute Unreal rebuilt because of the engine license. And I don't like the idea of rebuilding it when it's already built for linux somewhere we can pick with just a download link ? Ofc there's the LD issues but that can be handled.

KingKrouch commented 2 months ago

That's great and all but we (NixOS or the community) can't distribute Unreal rebuilt because of the engine license. And I don't like the idea of rebuilding it when it's already built for linux somewhere we can pick with just a download link ? Ofc there's the LD issues but that can be handled.

I wonder if this can be approached similarly to how CISCO's Packet Tracer is in the Nix package manager. It still technically requires the debian package for it to be downloaded from the website and referenced, and I'd imagine that maybe something similar could be done with Unreal's engine binaries (Although I'd imagine subsequent engine versions, which are regular, would present issues).

Murazaki commented 2 months ago

I wonder if this can be approached similarly to how CISCO's Packet Tracer is in the Nix package manager. It still technically requires the debian package for it to be downloaded from the website and referenced, and I'd imagine that maybe something similar could be done with Unreal's engine binaries (Although I'd imagine subsequent engine versions, which are regular, would present issues).

Is there really a deb package ? For all I know builds are only here behind a login and provided EULA acceptance : https://www.unrealengine.com/en-US/linux

KingKrouch commented 2 months ago

Is there really a deb package ? For all I know builds are only here behind a login and provided EULA acceptance : https://www.unrealengine.com/en-US/linux

Oh, I was referring to packettracer when I was talking about a debian package. I know that UE4 releases for Linux are in ZIP files. Should've clarified.

johanno commented 2 months ago

Ok little update on compiling from sources:

pkgs.mkShell {
  packages = with pkgs; [
    stdenv.cc.cc
    bash
    curl
  ];

  shellHook = ''
     # get unreal source code.
     cd UnrealEngine
     steam-run Setup.sh
     # will fail on curl missing ca file for server.
     # search for curl in files with type shell script in dolphin....
     # probably Engine/Build/BatchFiles/Linux/SetupToolchain.sh // add -k to curl call to skip verification
     steam-run GenerateProjectFiles.sh
     steam-run make
     # once build you can run Engine/Binaries/Linux/UnrealEditor with steam-run
  '';
}

I managed to compile it from the sources. I made 5.4.4 working and have been able to load a project and run around in it. I don't know if anything else is not working, but it takes forever of course to compile. Well maybe I will now get around learning UE and see what linux is lacking.

That's great and all but we (NixOS or the community) can't distribute Unreal rebuilt because of the engine license. And I don't like the idea of rebuilding it when it's already built for linux somewhere we can pick with just a download link ? Ofc there's the LD issues but that can be handled.

Well I for my part could not fix the LD issues. I used autopatchelf and fixed all missing dependencies, but it won't launch a project for me. There would be needed some deeper digging. Compiling from sources went relatively smooth. It only takes a few hours or longer depending on your hardware.

Murazaki commented 3 weeks ago

Finally found a proper way to use it.

I have vscode (non-FHS) installed, with direnv.

I installed the zipped binaries of ue5.5 preview linux version from Unreal Engine website : https://www.unrealengine.com/en-US/linux

I run vscode on my project, with this shell.nix (change the shell to your preference) :

{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSEnv rec {
  name = "UnrealEditor";

  stdenv = pkgs.llvmPackages_18.stdenv;

  targetPkgs = pkgs: (with pkgs;
    [ udev
      alsa-lib
      mono
      dotnet-sdk
      stdenv
      clang_18
      icu
      openssl
      zlib
      SDL2
      SDL2.dev
      SDL2 SDL2_image SDL2_ttf SDL2_mixer
      vulkan-loader
      vulkan-tools
      vulkan-validation-layers
      glib
      libxkbcommon
      nss
      nspr
      atk
      mesa
      dbus
      pango
      cairo
      libpulseaudio
      libGL
      expat
      libdrm
      wayland
    ]) ++ (with pkgs.xorg;
    [ 
      libICE
      libSM
      libX11
      libxcb
      libXcomposite
      libXcursor
      libXdamage
      libXext
      libXfixes
      libXi
      libXrandr
      libXrender
      libXScrnSaver
      libxshmfence
      libXtst
    ]);

  # runScript = "zsh";

  dotnetPkg = 
    (with pkgs.dotnetCorePackages; combinePackages [
      sdk_9_0
    ]);

  deps = (with pkgs; [
    zlib
    zlib.dev
    openssl
    dotnetPkg
  ]);

  NIX_LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath ([
    stdenv
  ] ++ deps);
  NIX_LD = "${stdenv.cc.libc_bin}/bin/ld.so";
  nativeBuildInputs = [ 
  ] ++ deps;

  shellHook = ''
    DOTNET_ROOT="${dotnetPkg}";
    DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1;
  '';
}).env

and an .envrc for direnv (FHS did not work with a flake for me so I run the shell directly) :

use nix

you can now generate your vscode project :

dotnet <PathToEngine>/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll -ProjectFiles "<PathToProject>/<YourProject>.uproject" -VSCode

build your project (for me it seems Makefile tools generated a Makefile from the workspace) :

make <YourProject>Editor

# this should run a similar command, if you don't have it
"<PathToEngine>/Engine/Build/BatchFiles/RunUBT.sh" <YourProject>Editor Linux Development  -Project="<PathToProject>/<YourProject>.uproject"

Run Unreal Editor :

dotnet <PathToEngine>/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll -ProjectFiles "<PathToProject>/<YourProject>.uproject" -VSCode

You can also make sure that any scripts uses #!/usr/bin/env shebang in Unreal, I personally just batch modified them.

You will have some bugs around Vulkan, for me this solves most of the situation but I still have memory allocation issues : Add this to your DefaultEngine.ini :

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
-TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM6

[SystemSettings]
r.Vulkan.EnableDefrag=0
r.Vulkan.WaitForIdleOnSubmit=1
jon-zuka commented 1 week ago

@Murazaki How did you manage to solve the ZenServer issue? What I did is to modify the BaseEngine.ini file as in the reference.

https://forums.unrealengine.com/t/unreal-5-4-crash-will-not-start-unreal-zen-storage-server-failed-to-launch/1765413/17

dtetruash-nl commented 3 days ago

Finally found a proper way to use it.

I have vscode (non-FHS) installed, with direnv.

I installed the zipped binaries of ue5.5 preview linux version from Unreal Engine website : unrealengine.com/en-US/linux

I run vscode on my project, with this shell.nix (change the shell to your preference) :

{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSEnv rec {
  name = "UnrealEditor";

  stdenv = pkgs.llvmPackages_18.stdenv;

  targetPkgs = pkgs: (with pkgs;
    [ udev
      alsa-lib
      mono
      dotnet-sdk
      stdenv
      clang_18
      icu
     ...

Is there a reason you don't use the targetPkgs variable you defined?

Murazaki commented 3 days ago

Is there a reason you don't use the targetPkgs variable you defined?

AFAIK, that's how BuildFHSEnv works. Here's a doc :

https://ryantm.github.io/nixpkgs/builders/special/fhs-environments/