Unity Weekly 202

Unity Officials

Ultimate guide: Multiplayer Networking for Advanced Unity Developers

Ultimate guide: Multiplayer Networking for Advanced Unity Developers | Unity

マルチプレイヤーゲームを開発するUnity開発者向けのE-book「The ultimate guide to multiplayer networking for advanced Unity developers」がリリースされました。

この記事では、E-bookで取り扱っている内容の概要を紹介しています。

Events

CA.unity #9

CA.unity #9 - connpass

2025/01/08に株式会社サイバーエージェントが主催するUnityに関する勉強会「CA.unity」の第9回が開催されます。

今回はユニティ・テクノロジーズ・ジャパン株式会社コラボ回で、主にUnity 6でのアップデートや追加された機能について発表があります。

また、今回はオフライン(AbemaTowers)とオンラインのハイブリッド開催となります。

現在、オンラインとオフラインの両枠の参加を募集しています。

Articles

SourceGenerator対応のMessagePack for C# v3リリースと今後について

neue cc - SourceGenerator対応のMessagePack for C# v3リリースと今後について

MessagePack for C# v3のリリースに含まれているSource Generator対応と、今後の開発方針について解説しています。

フロー解析を実装した静的解析ツールをOSS公開しました

フロー解析を実装した静的解析ツールをOSS公開しました - DeNA Testing Blog

DeNA社が公開したC#のコードをフロー解析することで await 忘れを検知する「MustAwaitAnalyzer」について、このライブラリの概要やフロー解析の概要について紹介しています。

Unity 6 Sentisを触ってみた!

Unity 6 Sentisを触ってみた!|アップフロンティア株式会社

Unity 6から利用できるUnity Sentisを用いて、BlazeHandモデルによるハンドトラッキングやGoogleの提供する「Quick,Draw!」をMeta Quest 3/3S上で動かす実装について紹介しています。

結局Addressablesでリソースダウンロード・リソース更新を行うにはどうしたら良いの?という貴方へ

[Unity Addressables] 結局Addressablesでリソースダウンロード・リソース更新を行うにはどうしたら良いの?という貴方へ #AssetBundle - Qiita

Addressablesを用いたリソースを管理からAssetBundleのビルド、ビルドしたAssetBundleをサーバー(今回はS3)へアップロード方法など、Addressablesによるリモートアセット配信の実現方法について解説しています。

Shoreline Shader Breakdown

Shoreline Shader Breakdown | Cyanilux

海岸線の波を打つようなシェーダー表現について、2種類の海外線の表現のアプローチや波の表現、濡れた砂の表現についてそれぞれShader Graphにおける実装を解説しています。

Edge Detection Outlines

Edge Detection Outlines

Unity 2022 LTSとUnity 6で動作する、フルスクリーンレンダーパス内でのエッジ検出によるアウトライン描画について、概要からシェーダー実装までを紹介しています。

IL2CPP が出力した C# の文字列の扱いを探ってみた

IL2CPP が出力した C# の文字列の扱いを探ってみた - e.blog

C#の文字列が、IL2CPP C++上でどのように扱われているのか、実際のIL2CPPが出力するコードをたどりながら解説しています。

Unity 6から追加されたAndroidに関するAPIの紹介

Unity 6から追加されたAndroidに関するAPIの紹介 | Yucchiy's Note

Unity 6から追加されたAndroidに関するAPIについてその概要と基本的な使い方を紹介しています。

モデルをイジらずポスプロも要らず。ハードエッジをサクッと解決する背面法アウトラインの作り方

[Unity]モデルをイジらずポスプロも要らず。ハードエッジをサクッと解決する背面法アウトラインの作り方 #Shader - Qiita

背面法によるアウトライン描画に、3Dモデル上に存在する法線を「# Unity Outline Normal Smoother」により加工した法線を用いることで、手軽なアウトライン描画を実現する方法について紹介しています。

Github ActionsでUnityアプリをビルドする前に知っておきたかったこと

Github ActionsでUnityアプリをビルドする前に知っておきたかったこと #GitHubActions - Qiita

UnityプロジェクトをGitHub Actions上でアプリビルド際のプラクティスについてまとめています。

開発ビルドのアプリアイコンの視認性を高める

開発ビルドのアプリアイコンの視認性を高める

アプリのプリビルド時(UnityEditor.Build.IPreprocessBuildWithReportが呼び出されるとき)に、アプリアイコンに特定の画像を上乗せする形で加工することで、開発ビルドのアプリアイコンの視認性を高める方法について紹介しています。

Rive Unityを使ってみる

Rive Unityを使ってみる #Unity - Qiita

モーショングラフィックを制作・実行するための「Rive」についての概要からUnityへの導入方法や利用方法についてまとめています。

UnityのAnimationC#Jobsを使用した曲げ捻り補助骨の実装例

UnityのAnimationC#Jobsを使用した曲げ捻り補助骨の実装例 #animation - Qiita

C# Animation Jobを用いた補助骨による曲げや捻りの実装について、その概要から実装例を紹介しています。

マルチシーンエディティングを知って、考えるシーン構造

【Unity】マルチシーンエディティングを知って、考えるシーン構造 #Unity3D - Qiita

マルチシーンエディッティングによるシーン管理について、採用するメリット・デメリット・注意点からマルチシーンで開発を行う際のカメラやイベントシステムの扱い、ロードやアンロードの方法についてまとめています。

InstantiateAsyncの使い方と速度検証

【Unity】InstantiateAsyncの使い方と速度検証

Object.InstantiateAsync について、その基本的な使い方やこのAPIのパフォーマンスの検証結果を紹介しています。

カジュアルゲームに使いやすい「これでいい」水面シェーダー

[Unity]カジュアルゲームに使いやすい「これでいい」水面シェーダー #Shader - Qiita

シンプルなシェーダーで実現できる水面シェーダーについて、その実装を紹介しています。

実践flutter_unity_widget Protobufを用いたアプリ間状態同期

実践flutter_unity_widget Protobufを用いたアプリ間状態同期 #Unity - Qiita

Flutter(flutter_unity_widget)とUnityの間で、Reduxのような設計を用いて、Protobufをプロトコルにしたメッセージングによって状態を同期するための実装についてその実装を紹介しています。

Androidのローカル通知実装と審査対応

【Unity】Androidのローカル通知実装と審査対応

Androidのローカル通知の独自実装の設計やその実装、GooglePlayConsoleにアプリを提出した際の審査対応について紹介しています。

TextMeshProで複数フォントを1つのアトラスに無理やり書き込む方法

TextMeshProで複数フォントを1つのアトラスに無理やり書き込む方法 #C# - Qiita

リフレクションを介してTMP_FontAssetの非公開のフィールドにアクセスすることで、複数のフォントアセットを1つのアトラスに書き出す方法を紹介しています。

UnityのAnimationMixerPlayableにはブレンドした時、片方が空クリップだったとしてもルートモーションのRotationだけ謎にWeightでLerpされるバグがある!

UnityのAnimationMixerPlayableにはブレンドした時、片方が空クリップだったとしてもルートモーションのRotationだけ謎にWeightでLerpされるバグがある! - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

AnimationMixerPlayableの特定条件下によるルートモーションのRotationブレンド挙動の不具合とそのワークアラウンドについて紹介しています。

Unityでゲームシーン実行中のGC Allocをゼロに保つために気をつけていること

Unityでゲームシーン実行中のGC Allocをゼロに保つために気をつけていること #C# - Qiita

GC.Allocを回避するために気をつけるべきポイントをまとめています。

Unity2023.1からdidAwake,didStartなんてのがあった

【ハルシオンブログ】Unity2023.1からdidAwake,didStartなんてのがあった - ハルシオンシステムの気ままBlog

Unity 2023.1から追加された、MonoBehaviourAwakeStart が実行済みかを判定するために追加されたプロパティについて紹介しています。

2Dキャラの髪や衣装の自然な揺れを簡単にする拡張

[Unity] 2Dキャラの髪や衣装の自然な揺れを簡単にする拡張 #ゲーム制作 - Qiita

Unity Animation2Dに含まれるSpriteSkinを用いたキャラクター制御の実装においてゆれものを実装するためのコンポーネント実装について解説しています。

レイマーチングのQuest対応

【VRChat】レイマーチングのQuest対応(モバイルVR対応)

レイマーチングによる描画をQuest(モバイルVR)に対応させるためのシェーダー対応のポイントをまとめています。

UnityのAddressableアセットをビルドしてからCloudflare R2へとアップロードするエディタ拡張を作成する

UnityのAddressableアセットをビルドしてからCloudflare R2へとアップロードするエディタ拡張を作成する #CloudflareR2 - Qiita

AddressablesでビルドしたAssetBundleをCloudflare R2へアップロードするためのエディター拡張の実装と実際のビルド・アップロード処理について紹介しています。

デバッグシステムを強化するSR Debuggerのタブ拡張手法

【Unity】デバッグシステムを強化するSR Debuggerのタブ拡張手法 #ゲーム制作 - Qiita

デバッグメニューライブラリ「SR Debugger」のタブ表示を拡張する方法について紹介しています。

2024年版Cardboard用プロジェクトを作る方法

【Unity】2024年版Cardboard用プロジェクトを作る方法

VRデバイス「Google Cardboard」用のプロジェクトをUnity 6を作成するためのプロジェクトやiOS/Androidでのビルド設定について紹介しています。

Unityエディタのオペレーション運用を見据えたコンポーネント設計の提案

Unityエディタのオペレーション運用を見据えたコンポーネント設計の提案 #C# - Qiita

拡張性や運用を見据えたエディター拡張のコンポーネント設計についてその詳細を説明しています。

Unityでリアルな車の挙動を簡単に作ろう!

Unityでリアルな車の挙動を簡単に作ろう! #Collider - Qiita

Wheel Colliderを用いて車の挙動を再現するための調整方法について紹介しています。

SceneSemanticAPIを使ってオクルージョン処理を実現する

【Unity】SceneSemanticAPIを使ってオクルージョン処理を実現する #C# - Qiita

ARCoreのSceneSemanticAPIによるシーンセグメンテーションを用いて空の領域のみにオブジェクトを描画し、擬似的なオクルージョン表現を実現する方法について紹介しています。

Google.ProtobufのTypeInitializationExceptionの対処方

Google.ProtobufのTypeInitializationExceptionの対処方

Google.Protobufの一部メソッド・プロパティが、Managed Code Strippingによってコードが削られて利用できず TypeInitializationException を吐くケースとその対応について紹介しています。

PC1台(Unity1つ)でマルチプレイを簡単に確認出来る Multiplayer Play Modeの導入と使い方

PC1台(Unity1つ)でマルチプレイを簡単に確認出来る Multiplayer Play Modeの導入と使い方【Unity】 - (:3[kanのメモ帳]

1マシン上で、同プロジェクトを複数立ち上げることでマルチプレイをテストするための「Multiplayer Play Mode」の導入方法と使い方について紹介しています。

シェーダーで世界を曲げる

【Unity】シェーダーで世界を曲げる #Shader - Qiita

平たい背景をシェーダーによって丸める(世界を曲げる)表現について、計算の概要と実際のシェーダーを紹介しています。

GitHub ActionsのWindows Serverでビルドが「Failed to get ipc connection from UnityShaderCompiler shader compiler」で失敗する

【Unity】GitHub ActionsのWindows Serverでビルドが「Failed to get ipc connection from UnityShaderCompiler shader compiler」で失敗する - うどんてっくメモ

Windows Servers上で「Failed to get ipc connection from UnityShaderCompiler shader compiler」というエラーが出た際の対応方法について紹介しています。

UniRXからR3移行時にRepeatオペレーターが廃止されていて困った話

UniRXからR3移行時にRepeatオペレーターが廃止されていて困った話 #C# - Qiita

UniRxにあってR3にない Repeat を代替する手法についていくつか紹介しています。

自作Editor拡張で固めた開発環境を紹介してみる

【Unity】自作Editor拡張で固めた開発環境を紹介してみる #C# - Qiita

記事の著者が個人のシェーダー制作で用意しているエディター拡張で実装された開発ツールについて紹介しています。

Unity6+VisualStudio2022でNuGetパッケージをインストールする入門

#unity Unity6+VisualStudio2022でNuGetパッケージをインストールする入門 - 土屋つかさの技術ブログは今か無しか

Unity 6でNuGetForUnityを用いてNuGetパッケージをインストールする方法について紹介しています。

Unityでディゾルブシェーダーを作る方法

Unityでディゾルブシェーダーを作る方法 #ゲーム制作 - Qiita

オブジェクトが消失するさいの表現としてのディゾルブシェーダーの実装について紹介しています。

VFXGraphsがWebビルドに対応したので、早速ビルドをしてみた!

VFXGraphsがWebビルドに対応したので、早速ビルドをしてみた! #Unity - Qiita

Unity 6でVFXGraphをWebプラットフォーム上でビルドする方法について紹介しています。

他のクラスが初期化されるまで待つ - UniTaskCompletionSourceの使用例

【UniTask】他のクラスが初期化されるまで待つ - UniTaskCompletionSourceの使用例 #Unity - Qiita UniTaskCompletionSource によって、MonoBehaviour の初期化完了を待つ実装について紹介しています。

Repositories

MessagePack for C# v3

Release v3.0.3 · MessagePack-CSharp/MessagePack-CSharp

MessagePack for C# v3がリリースされました。

このバージョンから内部のコード生成がSource Generatorで行われるようになり、あわせてUnityでコード生成で必要だったmpcが不要になりました。