今回もUnreal Engineのお話
C++かブループリントか
Unreal Engineを触っていると一度は耳にする話題ですよね。
ざっと調べた感じ、同じ話題を扱っている様々な記事があります。
![](https://res.cloudinary.com/zenn/image/upload/s--_AO6aBV2--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255B%25E3%2583%2596%25E3%2583%25AB%25E3%2583%25BC%25E3%2583%2597%25E3%2583%25AA%25E3%2583%25B3%25E3%2583%2588vsC%252B%252B%255D%25E3%2581%25A9%25E3%2581%25A3%25E3%2581%25A1%25E3%2581%25A7%25E3%2582%25B2%25E3%2583%25BC%25E3%2583%25A0%25E9%2596%258B%25E7%2599%25BA%25E3%2581%2599%25E3%2582%258B%25EF%25BC%259FUE5%25E3%2581%25AE%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25B0%25E3%2583%25A9%25E3%2583%259F%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A61%25E3%2581%258B%25E3%2582%2589%25E8%25A7%25A3%25E8%25AA%25AC%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:daichi-gamedev%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2RlNjNhNzM1ZDQuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTk2JUUzJTgzJUFCJUUzJTgzJUJDJUUzJTgzJTk3JUUzJTgzJUFBJUUzJTgzJUIzJUUzJTgzJTg4JUUzJTgxJUE4QyUyQiUyQiVFMyU4MSVBRSVFMyU4MyU5MCVFMyU4MyVBOSVFMyU4MyVCMyVFMyU4MiVCOSVFMyU4MSVBQiVFMyU4MSVBNCVFMyU4MSU4NCVFMyU4MSVBNiVFOCU4MCU4MyVFMyU4MSU4OCVFMyU4MSVBNiVFMyU4MSVCRiVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NjRjZDRjYTU3N2YzMjI3OTZhNzVlZjgxNGZiYTZlODk&mark-x=120&mark-y=96&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBtYXJ2X25pc2hpbXVyYWtlJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xNzQ1MjdmYTZjOTFkNzNmZmM3N2NlNWFiMTU4MzYxMw&blend-x=120&blend-y=445&blend-mode=normal&txt64=aW4g5qCq5byP5Lya56S-44Oe44O844OZ44Op44K5&txt-width=972&txt-clip=end%2Cellipsis&txt-color=%233A3C3C&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=134&txt-y=546&s=335f7f958ad58eb8028067a2a8f15565)
![](https://historia.co.jp/wp/wp-content/uploads/2015/06/cpp_or_bp.png)
まあ色々あるわけですが、BPの方がいい、C++の方がいいなどは半々ぐらいです。
自分の結論:BPで作るのは大アリ、でもC++から逃げちゃダメ
まずは結論から。自分の結論では、「BPを使って開発してもいいけど、C++のことは頭に入れておこう」という方針です。
具体的には新規でプロジェクトを作成するときはC++で作り、内容理解をしながらできそうなことを確かめていき、C++とブループリントを使い分けていくことがいいと思います。
自分の考え的にはC++寄りですね。
![](https://chokogamev2.com/wp-content/uploads/2023/06/Unreal-Project-Browser-2023_06_18-2_47_26-1024x738.png)
前提:UnrealEngine で開発するのはそもそもガチ勢気味
まず、BPメインで開発することがおススメという意見についてですが、これは正直微妙です。
このような記事はゲームプログラミング初心者向けに書いてあることが多いのですが、そもそもそのような方はUnityを使った開発の方が向いていると自分は考えています。
前提としてはUnrealEngineを使った開発はいくつか問題があります。
・情報が少ない
・仕様がコロコロ変わる
・謎のエラーが多い
この辺の問題はUnityと比べると切実となるので、情報収集について気合いの入った方でないと大変かなと思います。ですから、そもそもUnreal Engineというのはプロ向けなツールであるというわけですね。プロの世界で、応用が効いてパフォーマンスに優れるc++が優勢です。
c++の開発の問題点
実際、個人的にはc++を使った開発をおすすめしたいのですが、少し問題点があります。それはUDNの有無です。
Unreal Developer Network (UDN) は Epic Games のプレミアムサポートリソースです。Epic Games の専門スタッフがあなたの質問に回答します。UDN は Unreal Engine のカスタムライセンスのライセンシーと、Unreal エンタープライズ プログラムの参加者のみがアクセスできます。
これは、unreal engineの有料版に入るとついてくる、Epicから直接質問に答えてくれるサービスで、c++での開発を勧めて来る人の多くはこれに入っています。
unityと違って重要な部分の仕様がコロコロ変わるunrealだとこの機能がないとやってられないこともありますが、そのために有料版をやるかどうかは……
おすすめのやり方
このように、BPにもc++にも利点、欠点は様々ありますが、1つのやり方としてはプロジェクトはc++で生成しておき、実装が難しいものを適宜BPで実装するという方法です。
ブループリントとC++には互換性があるので基本的に困ることはないのですが、C++をブループリントに変換するのはかなり難易度が高いのは事実です。後からC++を使いたくてももう遅い!ってわけですね。
終わりに
他の記事でも色々と言われてる内容ですけれど、参考になれば幸いです。
コメント