Submit Search
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
5 likes
•
8,901 views
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における ビルドパイプラインとメンテナンスの全体像
Technology
Read more
1 of 132
Download now
Downloaded 59 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Most read
130
Most read
131
132
Most read
More Related Content
PDF
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
【UE4.25 新機能】ロードの高速化機能「IOStore」について
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
PDF
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4を用いたTPS制作事例 EDF:IR アニメーション作成事例紹介
エピック・ゲームズ・ジャパン Epic Games Japan
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】ロードの高速化機能「IOStore」について
エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を用いたTPS制作事例 EDF:IR アニメーション作成事例紹介
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
PDF
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4でTranslucencyやUnlitに影を落としたい!
com044
PDF
UE4 Volumetric Fogで 空間を演出する!
com044
PDF
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Editor Utility Widgetで色々便利にしてみた。
IndieusGames
PDF
60fpsアクションを実現する秘訣を伝授 解析編
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4アニメーションシステム総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4のポストプロセスを使った演出・絵作り
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
UE4でTranslucencyやUnlitに影を落としたい!
com044
UE4 Volumetric Fogで 空間を演出する!
com044
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
エピック・ゲームズ・ジャパン Epic Games Japan
Editor Utility Widgetで色々便利にしてみた。
IndieusGames
60fpsアクションを実現する秘訣を伝授 解析編
エピック・ゲームズ・ジャパン Epic Games Japan
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
Ad
Similar to 「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
(20)
PDF
Unreal Studio+機械CADのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019
Game Tools & Middleware Forum
PPTX
[GTMF2019]Unreal Engine 4の2019年上半期 アップデート情報まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
日本一詳しい人が教えるUE4
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Unreal Engine 4 勉強会 福岡 2014/05/25
Daisuke Nakamura
PDF
Unreal Engine 4 Powering Independent Game Developers
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Studio+プロダクトデザインのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Studio+建築CADのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
CEDEC2014: アンリアル・エンジン4を技術者が活用するための最新ノウハウ
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Takahiro Miyaura
PDF
UE4とUnrealC++について
Masahiko Nakamura
PDF
UnrealEngine の VR 事情
Masaaki Suga
PDF
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
第5回ue4ハンズオンセミナー
Masahiko Nakamura
PDF
Unity&unreal engineハンズオン資料 unreal_4.8
Seiki Okude
PPTX
BIMBraSto3 UnrealEngine4のすすめ(+Unreal Engine Pixel Streaming)
Tatsuya Sumisaki
ODP
Unityは神,Unrealは現実
Linea319
PDF
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
PDF
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Studio+機械CADのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019
Game Tools & Middleware Forum
[GTMF2019]Unreal Engine 4の2019年上半期 アップデート情報まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
日本一詳しい人が教えるUE4
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4 勉強会 福岡 2014/05/25
Daisuke Nakamura
Unreal Engine 4 Powering Independent Game Developers
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Studio+プロダクトデザインのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Studio+建築CADのワークフロー
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2014: アンリアル・エンジン4を技術者が活用するための最新ノウハウ
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Takahiro Miyaura
UE4とUnrealC++について
Masahiko Nakamura
UnrealEngine の VR 事情
Masaaki Suga
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
第5回ue4ハンズオンセミナー
Masahiko Nakamura
Unity&unreal engineハンズオン資料 unreal_4.8
Seiki Okude
BIMBraSto3 UnrealEngine4のすすめ(+Unreal Engine Pixel Streaming)
Tatsuya Sumisaki
Unityは神,Unrealは現実
Linea319
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
Ad
More from エピック・ゲームズ・ジャパン Epic Games Japan
(20)
PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4を使った映像制作 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Hair Groom入門 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Twinmotion 2021とAEC分野向けソリューションのご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でもわかる Epic MegaGrants 応募への道
エピック・ゲームズ・ジャパン Epic Games Japan
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使った映像制作 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
Hair Groom入門 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
Twinmotion 2021とAEC分野向けソリューションのご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
エピック・ゲームズ・ジャパン Epic Games Japan
猫でもわかる Epic MegaGrants 応募への道
エピック・ゲームズ・ジャパン Epic Games Japan
Recently uploaded
(10)
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
20250729_Devin-for-Enterprise
Masaki Yamakawa
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
1.
「Press Button, Drink
Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
2.
#UE4 | @UNREALENGINE 自己紹介 Axel
Riffard アクセル リファール Epic Games Japan / Support Engineer ● Twitter : @AxRiff ● 趣味はPerfume、ベイスターズ、ウイスキー ● 今プレイしてるゲーム: Control (Remedy大好き)
3.
#UE4 | @UNREALENGINE 序文 ゲームを作るのはもちろん楽しいですが、自動化と最適化はさらに楽しいと思い ます。 幸せといえば、書いたスクリプトのロードバーの進行を見ることです。(変なフェチかも) UE4における、毎日の作業を楽にする機能を紹介します。
4.
#UE4 | @UNREALENGINE 免責条項 完璧なパイプラインなんて存在しない。 会社の文化、チームのスキル、社内のインフラ、プロジェクトの予算、使いたい 技術、ターゲットプラットフォームによって、一番良い選択が変わってしまう。 一番頼れるのは、今までの経験です。これから紹介する技術と伝えるアドバイス は、個人の経験のまとめとエピック内のワークフローだけです。自分の経験を信 用するのが一番です。
5.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
6.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
7.
#UE4 | @UNREALENGINE
8.
#UE4 | @UNREALENGINE どうしてこんな恐ろしいことが起きるのか Dev 2 Dev 1 Dev 3 バージョン管理 しすてむ
9.
#UE4 | @UNREALENGINE ●
更新したら、ローカルでエラーが出ていてビルド出来ない ● そのエラーを解決しようとしたら、遡りづらい ● 喧嘩したり、チーム内のコミュニケーションが複雑になる ● コミットすることでビルドを壊すかどうか不安になる ● ゲームのビルドを作ろうとしたら、時間かかって、その間は仕事できない どうしてこんな恐ろしいことが起きるのか
10.
#UE4 | @UNREALENGINE CIソフトウェア CI
= Continuous Integration、継続実装 ソフトウエアとハードウエアの組み合わせで、 毎日のソースとアセットの実装と更新を管理してくれるソリューション
11.
#UE4 | @UNREALENGINE どうしてこんな恐ろしいことが起きるのか Dev 2 Dev 1 Dev 3 バージョン管理 しすてむ
12.
#UE4 | @UNREALENGINE ソフトウェア
13.
#UE4 | @UNREALENGINE CIソフトウェア 今の世代で、悪い選択がないでしょう。 過去に、TeamCityとJenkinsも利用したことがあって、どっちも満足しました。
14.
#UE4 | @UNREALENGINE CIソフトウェア Jenkins
TeamCity
15.
#UE4 | @UNREALENGINE Jenkins
16.
#UE4 | @UNREALENGINE Jenkins メリット: ●
Free Open Source ● ドキュメンテーションとプラグインがいっぱい ● コミュニティーがデカい デメリット: ● 公式サポートがない ● プラグインのクオリティはバラバラ
17.
#UE4 | @UNREALENGINE TeamCity
18.
#UE4 | @UNREALENGINE TeamCity メリット ●
パイプラインを作るの速い ● 公式サポートがある デメリット ● 無料版だと機能が限られている
19.
#UE4 | @UNREALENGINE CIソフトウエア 日本のゲーム業界でジェンキンスが一番人気があると思うから、これからの話は ジェンキンス中心になる。 ただ、全アドバイスとコマンドはどんなCIソフトウエアでも使える。 似てるから、ジェンキンスおじさんの変わりに、この猫を使わせていただきます。
20.
#UE4 | @UNREALENGINE ハードウェア
21.
#UE4 | @UNREALENGINE ビルドマシン マスター
→ 作業を管理しているマシン、サーバー スレーブ → 実際の作業を行うマシン
22.
#UE4 | @UNREALENGINE ビルドマシン バージョン 管理DEV
PC CI Server Master Slack Commit Slave 1 Slave 2 Slave 3 Company Server Poll Distribute バージョン 管理
23.
#UE4 | @UNREALENGINE ビルドマシン
- マシン数 プロトタイプ中: マスターのみに1台 開発中: マスター1台 リリースプラットフォームごとにスレーブが1台
24.
#UE4 | @UNREALENGINE ビルドマシン
- OS マスター:Win64かLinux スレーブ:Win64(プラットフォームのSDKのため)、りんご系の場合はMacOS
25.
#UE4 | @UNREALENGINE ビルドマシン
- Windows ストレージ:SSD メモリ:32GB~ CPU:AMD Threadripperはライセンシーにおすすめされた。 15分でフルリコンパイルできる。
26.
#UE4 | @UNREALENGINE ビルドマシン
- MacOS Macでコンパイルの分散が出来ないので、 シェーダーのコンパイルを考えると、 できるだけCPUのコアを多く。そろそろ発売するMacプロがいいかもしれない。 予算があまりなければ、個人的には6コアのMacミニで行けると思います。
27.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
28.
#UE4 | @UNREALENGINE UE4のビルド ●
エンジンとエンジンエディター ● ゲームのソース ● ゲームのアセット(ライト、シェーダー、etc) ● ツール
29.
#UE4 | @UNREALENGINE ビルドコマンド これからCI用のビルドコマンドをいくつか紹介する。 メモしづらいと思うから、gitHubでも公開するぞ! https://github.com/AxRiff/UnrealEngineJenkins
30.
#UE4 | @UNREALENGINE UnrealAutomationTool UnrealAutomationToolは、ゲームのテストやビルドなどのプロセスを自動化す るために使用される一般的なシステム。 UE4は主にC++で作られているが、UnrealAutomationToolは主にC#。 UnrealAutomationToolを使って、CIソフトウエアでコマンドラインをビルドす ることができる。
31.
#UE4 | @UNREALENGINE UnrealAutomationTool 会社、プロジェクトの種類、そしてワークフローによって、ビルドする選択肢が 三つある。 ●
BuildGraphのカスタムスクリプト ● BuildGraphのInstalledBuildScript ● BuildCookRunのコマンドラインツール
32.
#UE4 | @UNREALENGINE BuildGraph
33.
#UE4 | @UNREALENGINE BuildGraph BuildGraphはUnrealAutomationToolの中のスクリプトベースのビルド自動化シ ステム。 ●
XMLでビルドスクリプトを書く ● 日本語のドキュメンテーションがちゃんとしてる ● エピックのプロジェクトのためにエピックが作ったツール。今でもよく使って おる ● 他のビルド ツールとは異なり、BuildGraphはmakefileのようなスクリプティン グ言語とビルドマシンのコンフィギュレーション スクリプトとを合わせたアプ ローチ
34.
#UE4 | @UNREALENGINE BuildGraph サンプルコードがいっぱいで、分かりやすい Engine/Build/Graph/Examples/
35.
#UE4 | @UNREALENGINE BuildGraph メリット ●
CIフレームワークへの依存を減らす。 ● ローカルでテストと編集可能 → CI達人に頼らなくてもいい ● XMLベースなので読みやすい ● プラットフォームに不可知的 ● いろんなプロジェクトで共有できる デメリット ● なれるまで時間がかかる
36.
#UE4 | @UNREALENGINE BuildGraph ●
Agents: 同じマシンで実行される複数のノードのグループ ● Nodes: タスクのシーケンス ● Tasks: ビルド プロセスの一部として実行されるアクション (コンパイル、 クックなど)
37.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent>
38.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent> <Agent Name="Default Agent" Type="CompileWin64">
39.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node>
40.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node>
41.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node>
42.
#UE4 | @UNREALENGINE BuildGraph <Agent
Name="Default Agent" Type="CompileWin64"> <!-- Update the engine version files --> <Node Name="Update Version Files"> <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" Licensee="$(Licensee)" If="$(Versioned)"/> </Node> <!-- Compile the tool executables --> <Node Name="Compile Tools Win64" Requires="Update Version Files" Produces="#ToolBinaries"> <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Tag="#ToolBinaries"/> </Node> <!-- Compile the editor executable --> <Node Name="Compile $(EditorTarget) Win64" Requires="Compile Tools Win64" Produces="#EditorBinaries"> <Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development" Tag="#EditorBinaries"/> </Node> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach> </Agent> <!-- Compile the game targets --> <Property Name="GameBinaries" Value=""/> <ForEach Name="GameTarget" Values="$(GameTargets)"> <ForEach Name="TargetPlatform" Values="$(TargetPlatforms)"> <Node Name="Compile $(GameTarget) $(TargetPlatform)" Requires="Compile Tools Win64" Produces="#GameBinaries_$(GameTarget)_$(TargetPlatform)"> <Compile Target="$(GameTarget)" Platform="$(TargetPlatform)" Configuration="Development" Tag="#GameBinaries_$(GameTarget)_$(TargetPlatform)"/> </Node> <Property Name="GameBinaries" Value="$(GameBinaries)#GameBinaries_$(GameTarget)_$(TargetPlatform);"/> </ForEach> </ForEach>
43.
#UE4 | @UNREALENGINE InstalledBuild
44.
#UE4 | @UNREALENGINE InstalledBuild ●
皆様の会社のアンリアルランチャーだと思って下さい ● エンジンを提供するためエピックが作ったBuildGraphのスクリプト Engine/Build/InstalledEngineBuild.xml ● デザイナーとアーティストに優しい ● エンジンビルドのみ。プロジェクトをビルドしない
45.
#UE4 | @UNREALENGINE Installed
Build Installed Buildの主なステップ 1. Update Version File 2. Compile UnrealHeaderTool Win64 3. Compile UE4Editor Win64 4. Compile UE4Game Win64 5. Compile UE4Game (Platform) 6. Build Tools Win64 7. Build Tools CS 8. Make Feature Packs 9. Build DDC Win64
46.
#UE4 | @UNREALENGINE InstalledBuild Engine/Build/BatchFiles/RunUAT.bat
BuildGraph -target”Make Installed Build Win64” -script=/Engine/Build/InstalledEngineBuild.xml -clean
47.
#UE4 | @UNREALENGINE InstalledBuild Engine/Build/BatchFiles/RunUAT.bat
BuildGraph -target”Make Installed Build Win64” -script=/Engine/Build/InstalledEngineBuild.xml -clean
48.
#UE4 | @UNREALENGINE InstalledBuild Engine/Build/BatchFiles/RunUAT.bat
BuildGraph -target”Make Installed Build Win64” -script=/Engine/Build/InstalledEngineBuild.xml -clean
49.
#UE4 | @UNREALENGINE InstalledBuild Engine/Build/BatchFiles/RunUAT.bat
BuildGraph -target”Make Installed Build Win64” -script=/Engine/Build/InstalledEngineBuild.xml -clean
50.
#UE4 | @UNREALENGINE BuildCookRun
51.
#UE4 | @UNREALENGINE BuildCookRun
52.
#UE4 | @UNREALENGINE BuildCookRun ●
/Engine/Build/BatchFiles/ にあるスクリプト ● ビルドから、パッケージまで、何でもできる ● カスタムしやすい ● 使用の際にLinux/UNIX感の懐かしくて温かい気持ちになる
53.
#UE4 | @UNREALENGINE BuildCookRun,
BuildGraph, InstalledBuild ● 状況によって、一番合ってるやり方が変わる ● 個人的に、ゲーム開発の場合は、柔軟性と変更可能な技術が重要かと思うか ら、BuildCookRunが一番仕事しやすい ● これから紹介するコマンドラインでBuildCookRunで実行する。でも全ての コマンドがBuildGraphでもできる
54.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
55.
#UE4 | @UNREALENGINE コマンドライン
56.
#UE4 | @UNREALENGINE エンジンDLLビルド エンジンの編集が少なかったら、手動でビルドするCIの作業 多かったら、一日一回でいいと思います。ただそれは夜ではなく、朝か昼にす るのがおすすめ
57.
#UE4 | @UNREALENGINE ビルドマシン Jenkins
Build Commit to Source Control Update Notify
58.
#UE4 | @UNREALENGINE ビルドコマンド %ENGINE_ROOT%/Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun - project=Samples/StarterContent/StarterContent.uproject - platform=%ENGINE_PLATFORM_TARGET% - clientconfig=%ENGINE_COMPILATION_TARGET% -build ENGINE_ROOT=EngineRoot ENGINE_COMPILATION_TARGET=Development ENGINE_PLATFORM_TARGET=Win64 大分読みづらいにゃ、ちょっと読 みやすくしよう
59.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=Samples/StarterContent/StarterContent.uproject -platform=Win64 -clientconfig=Development -build
60.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=Samples/StarterContent/StarterContent.uproject -platform=Win64 -clientconfig=Development -build RunUATを使うには、uprojectファイルが必要 なので、テンプレートか空っぽのプロジェクト にしにゃしょう。
61.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=Samples/StarterContent/StarterContent.uproject -platform=Win64 -clientconfig=Development -build
62.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=Samples/StarterContent/StarterContent.uproject -platform=Win64 -clientconfig=Development -build
63.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=Samples/StarterContent/StarterContent.uproject -platform=Win64 -clientconfig=Development -build
64.
#UE4 | @UNREALENGINE プロジェクトDLLビルド 10分ごとにバージョン管理しすてむを確認して、自動でビルド。 Jenkins
Build Commit to Source Control Update Notify
65.
#UE4 | @UNREALENGINE ビルドコマンド %ENGINE_ROOT%/Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project= project=%GAME_SUB_PATH%/%GAME_NAME%.uproject - platform=%ENGINE_PLATFORM_TARGET% - clientconfig=%ENGINE_COMPILATION_TARGET% -build ENGINE_ROOT=EngineRoot ENGINE_COMPILATION_TARGET=Development ENGINE_PLATFORM_TARGET=Win64 GAME_SUB_PATH=C:/GamePath GAME_NAME=GameName
66.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=C:/PathToTheGame/GameName.uproject -platform=Win64 -clientconfig=Development -build
67.
#UE4 | @UNREALENGINE
68.
#UE4 | @UNREALENGINE パッケージ
69.
#UE4 | @UNREALENGINE Nightly
Build ● 毎晩走らせるパッケージ ● Development、Test(プロファイルとるため)、そしてShipping (販売版に近い バージョン)、ターゲットごとに作る 時間がかかっても大丈夫なので、クリーン、フルリビルドがおすすめ
70.
#UE4 | @UNREALENGINE Nightly
Build フロー ZipJenkins Build Copy to Shared Folder Update Notify
71.
#UE4 | @UNREALENGINE ビルドコマンド %ENGINE_ROOT%/Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun - project=%GAME_SUB_PATH%/%GAME_NAME%.uproject -noP4 - platform=%ENGINE_PLATFORM_TARGET% - clientconfig=%ENGINE_COMPILATION_TARGET% -cook -allmaps -build -stage -pak -archive -archivedirectory=%TEMP_DIR% ENGINE_ROOT=PathToYourEngine GAME_SUB_PATH=PathToYourProject GAME_NAME=UprojectFileWithoutTheExtension ENGINE_COMPILATION_TARGET=Development|Shipping|etc ENGINE_PLATFORM_TARGET=Win64|etc
72.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
73.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
74.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
75.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
76.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
77.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
78.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
79.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
80.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
81.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/ 各ファイル全てをコピーする代わりに、全アセットを単一「.pak」フ ァイルに格納する。プロジェクトにたくさんのアセットファイルがあ る場合、Pak ファイルを使用した方が配布が容易になる場合がある。
82.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
83.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=C:/TempDirectory/
84.
#UE4 | @UNREALENGINE ビルドコマンド robocopy
%ARCHIVE_DIR%/latest %ARCHIVE_DIR%/%ENGINE_PLATF ORM_TARGET%/archive /E /IS /MOV set PATH=%PATH%;C:/Program Files/7-Zip/ 7z.exe a -tzip -mmt - mx1 %ARCHIVE_DIR%/latest/%BUILD_NUMBER%.zip %TEMP_DIR%/ exit 0
85.
#UE4 | @UNREALENGINE ビルドコマンド ちょっと待ったにゃ!!
86.
#UE4 | @UNREALENGINE ビルドコマンド https://github.com/electronicarts/EACopy Twitter
: @honk_dice EAさんのhigh endスタジオ、DICEが、robocopyよりさらに速い、ビルドマ シン用のコピーツールをオープンソースにした! EACopy ちょっとしか試していないけど、凄く速いです!
87.
#UE4 | @UNREALENGINE
88.
#UE4 | @UNREALENGINE Incremental
Build ● 手動起動 ● 「ごめん、一時間後パブリッシャー/社長に会議でビルドを見せなきゃいけな いから、何とかして」というときに ● Nightly Buildと違って、時間がないから… ● -partialgcを付ける ● クリーンビルドじゃなくてもいい
89.
#UE4 | @UNREALENGINE Incremental
Build フロー Jenkins Build Send to DevKit Update Notify 開発機までの接続は、各メーカーのSDKを確認してください。 また、エディターからdeployするときにエンジン内でも同じことするので、 /Engine/Source/Programs/AutomationTool/PlatformName/PlatformNamePlatfo rm.Automation.csを見てね
90.
#UE4 | @UNREALENGINE ビルドコマンド Engine/Build/BatchFiles/RunUAT.bat
BuildCookRun -project=GamePath/GameName.uproject -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -build -stage -pak -archive -partialgc -archivedirectory=C:/TempDirectory/ クック中に、メモリがなくなったときにすべてをクリーンするのではなく、 パッケージで完了したときにクリーンアップする。
91.
#UE4 | @UNREALENGINE
92.
#UE4 | @UNREALENGINE Jenkins
Plugins
93.
#UE4 | @UNREALENGINE Plugins Build
Pipeline Plugin https://wiki.jenkins.io/display/JENKINS/Build+Pipeline+Plugin
94.
#UE4 | @UNREALENGINE Plugins Jenkins
Slack Plugin https://github.com/jenkinsci/slack-plugin
95.
#UE4 | @UNREALENGINE Plugins Retaliation https://github.com/codedance/Retaliation
96.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
97.
#UE4 | @UNREALENGINE その他のビルドCI
Jobs
98.
#UE4 | @UNREALENGINE Commandlet Command
Line Applet → コマンドレットとは、Unreal Engineの環境内で 作動するコマンドラインプログラム
99.
#UE4 | @UNREALENGINE Shared
DDC Derived Data Cache (DDC) は、エンジンとターゲットプラットフォームが使 用するフォーマットでアセットのバージョンを保存する機能 簡単にいうと、みんなが利用しているアセットをキャッシュする
100.
#UE4 | @UNREALENGINE Shared
DDC Shared FolderDev PC 1 Copy Built Asset Build Assets on 1st launch
101.
#UE4 | @UNREALENGINE Shared
DDC Shared Folder Dev PC 5Dev PC 4 Dev PC 3Dev PC 2 Copy Built Asset
102.
#UE4 | @UNREALENGINE Shared
DDC Shared FolderDev PC 4 Modify / Add Asset Copy Built Asset
103.
#UE4 | @UNREALENGINE Shared
DDC https://docs.unrealengine.com/en- US/Engine/Basics/DerivedDataCache/index.html BaseEngine.ini [InstalledDerivedDataBackendGraph] MinimumDaysToKeepFile=7 Root=(Type=KeyLength, Length=120, Inner=AsyncPut) AsyncPut=(Type=AsyncPut, Inner=Hierarchy) Hierarchy=(Type=Hierarchical, Inner=Boot, Inner=Pak, Inner=EnginePak, Inner=Local, Inner=Shared) Boot=(Type=Boot, Filename=%GAMEDIR%DerivedDataCache/Boot.ddc, MaxCacheSize=256) Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=17, FoldersToClean=-1, Path=../../../Engine/DerivedDataCache) Shared=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=//mystudio.net/DDC, EnvPathOverride=UE-SharedDataCachePath) AltShared=(Type=FileSystem, ReadOnly=true, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=//mystudio.net/DDC2, EnvPathOverride=UE-SharedDataCachePath2) Pak=(Type=ReadPak, Filename=%GAMEDIR%DerivedDataCache/DDC.ddp) EnginePak=(Type=ReadPak, Filename=../../../Engine/DerivedDataCache/DDC.ddp)
104.
#UE4 | @UNREALENGINE Shared
DDC
105.
#UE4 | @UNREALENGINE Shared
DDC // Flush and Clean argument DerivedDataBackends.cpp:553 if( bFlush ) { IFileManager::Get().DeleteDirectory( *(Path / TEXT(“”)), false, true ); } else if( bClean ) { DeleteOldFiles( *Path ); } /** Delete the old files in a directory **/ void DeleteOldFiles(const TCHAR* Directory) { float MinimumDaysToKeepFile = 7; GConfig->GetFloat( *GraphName, TEXT("MinimumDaysToKeepFile"), MinimumDaysToKeepFile, GEngineIni ); check(MinimumDaysToKeepFile > 0.0f); // sanity //@todo }
106.
#UE4 | @UNREALENGINE Shared
DDC //@todo
107.
#UE4 | @UNREALENGINE Shared
DDC UE4Editor-cmd.exe ProjectName –run=DerivedDataCache -fill del /s /q c:/ServerShareDDCPath/*
108.
#UE4 | @UNREALENGINE Lighting
Build ● リアルタイムライト以外の照明は、クックしなきゃいけない。 ● もちろん、エピックがクックするためのツールを提供している。 ただ…
109.
#UE4 | @UNREALENGINE Lighting
Build
110.
#UE4 | @UNREALENGINE 遅い。とても なので夜間にCIソフトウエアに任せるのが正しい 毎晩、自動で、このJobを走らせましょう Lighting
Build
111.
#UE4 | @UNREALENGINE Lighting
Build UE4Editor-cmd.exe ProjectName -run=resavepackages -buildlighting -allowcommandletrendering
112.
#UE4 | @UNREALENGINE Lighting
Build Editorで作業して、ライトを確認したいときに、 ローカルでライトビルドするのは現実的 そのプロセスを早くするため、Swarmがある
113.
#UE4 | @UNREALENGINE Lighting
Build - Swarm Swarmは、UE4の高品質なスタティック グローバル イ ルミネーション ソルバである Unreal のライトマスを 含むタスク分散システム Coordinatorは、ジェンキンスマスターでいいと思う https://wiki.unrealengine.com/Swarm_Agent_Trou bleshooting
114.
#UE4 | @UNREALENGINE Lighting
Build - Swarm Engine/Binaries/DotNET/SwarmCoordinator.exe Engine/Binaries/DotNET/SwarmAgent.exe Startupに追加する : ショートカットを作成して、 %APPDATA%/Microsoft/Windows/Start Menu/Programs/Startupまでコピーする
115.
#UE4 | @UNREALENGINE Lighting
Build - Swarm
116.
#UE4 | @UNREALENGINE Redirectors ●
Redirectorは、UE4 でアセットを移動したり名前の変更をするとき、変更先を検 出するためのもので、元の位置に‘Redirector’が残される ● 残し方によっては、バグりやすくなるから、綺麗にする必要がある ● 大体、月一回でいいと思います。危ないとき(エンジンのマージあと、アルファ版 かベータ版のリリースの後)、週一回にしましょう! https://docs.unrealengine.com/en-US/Engine/Basics/Redirectors/index.html
117.
#UE4 | @UNREALENGINE Redirectors UE4Editor-cmd.exe
ProjectName -run=fixupredirects
118.
#UE4 | @UNREALENGINE 目次 ●CIとは ●UnrealAutomationTool ●エンジンとプロジェクトビルドの作業 ●その他のビルド作業 ●The
Unreal Way
119.
#UE4 | @UNREALENGINE The
Unreal Way : Fortnite
120.
#UE4 | @UNREALENGINE Fortnite ●
エンジニアしかVisualStudioを持たない ● ElectricCommanderとBuildGraphを利用している ● UnrealGameSyncを使用している
121.
#UE4 | @UNREALENGINE イテレーション VSがなかったら、難しそうですね? 実は、そうでもない。覚悟が必要ですけど ●
PIEを出来るだけ使おう ● CIソフトウエアのビルドを上手く使おう
122.
#UE4 | @UNREALENGINE デバイスで今のレベルを試したいときに… キャラクターの髪の毛の色を変更して、コミットする前に端末のディスプレイ で確認したいけど、VSがないから、ビルド出来ないというシナリオだと… まずは、 CIソフトウエアでincremental
buildの作業を作って、 Project/Binaries/各プラットフォームのフォルダーでビルドマシンにコミット させる
123.
#UE4 | @UNREALENGINE Custom
Launch Profile そしてエディターのLaunchボタンの右の三角形 をクリック、 Project LauncherのCustom Launch Profileが 追加されたファイルを編集する プロファイルはプロジェクト側ではなく、 /Engine/Programs/UnrealFrontend/Profiles に保存される プロファイルからBuildのステップを外してパソ コンに繋がっているデバイスにdeployしたら、 誰でもいつでも、VisualStudioを持たずに、タ ーゲットプラットフォームでプレイが出来る
124.
#UE4 | @UNREALENGINE ビルドマシンまとめ UE4のパイプラインにあるはずのJobs
: ● エンジンビルド ● プロジェクトビルド ● 夜プロジェクトパッケージ ● Incrementalプロジェクトパッケージ ● InstalledBuildを使わない場合は、Project Launcher用ビルド ● ライトマップビルド ● Fixup Redirectorsコマンドレット ● SharedDDCクリーンアップ ● SharedDDCのfill
125.
#UE4 | @UNREALENGINE バージョン管理しすてむ ●
エピックはPerforceを使用しているため、使ったらエピック環境に一番近く なるが、有料ソフトウエアである ● SVNがちょっとだけ遅いかもしれないが、長く使われていて頼れる ● GITは無料で、モバイルとソシャゲで良く使われている SVNとPerforceはエディターでサポートします!GITにも対応しているけど、ま だExperimental!
126.
#UE4 | @UNREALENGINE UnrealGameSync Fortniteなどのエピック内のプロジェクトのためにエピックが作ったツール Perforceのみだが、P4Vの代わりに使えるUI。ノンテクニカルの開発者におすすめ
127.
#UE4 | @UNREALENGINE UnrealGameSync
128.
#UE4 | @UNREALENGINE UnrealGameSync P4サーバー Sync Get Engine (コードあり) Local
Builds (Binary Engine) 生成 ビルドマシン
129.
#UE4 | @UNREALENGINE UnrealGameSync 最新版はPerforceとGitHubでいつでも。 UE4と関係がないので、エンジンのバージョンにロックをかけていてもUGSの最 新版をゲットしよう https://docs.unrealengine.com/latest/ja/Programming/Deployment/Unrea lGameSync/Reference/
130.
#UE4 | @UNREALENGINE https://github.com/gpageot/JenkinsUE4 Twitter
: @GregoryPAGEOT https://github.com/AxRiff/UnrealEngineJenkins Twitter : @AxRiff https://github.com/electronicarts/EACopy Twitter : @honk_dice Manga by @shiba_zushi。まいど! Links
131.
#UE4 | @UNREALENGINE Unreal
Fes t Eas t 2019 2019 / 10 / 6 パシフィコ横浜
132.
#UE4 | @UNREALENGINE Merci
!
Download