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
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
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のローカル通知実装と審査対応
Androidのローカル通知の独自実装の設計やその実装、GooglePlayConsoleにアプリを提出した際の審査対応について紹介しています。
TextMeshProで複数フォントを1つのアトラスに無理やり書き込む方法
TextMeshProで複数フォントを1つのアトラスに無理やり書き込む方法 #C# - Qiita
リフレクションを介してTMP_FontAsset
の非公開のフィールドにアクセスすることで、複数のフォントアセットを1つのアトラスに書き出す方法を紹介しています。
UnityのAnimationMixerPlayableにはブレンドした時、片方が空クリップだったとしてもルートモーションのRotationだけ謎にWeightでLerpされるバグがある!
AnimationMixerPlayableの特定条件下によるルートモーションのRotationブレンド挙動の不具合とそのワークアラウンドについて紹介しています。
Unityでゲームシーン実行中のGC Allocをゼロに保つために気をつけていること
Unityでゲームシーン実行中のGC Allocをゼロに保つために気をつけていること #C# - Qiita
GC.Allocを回避するために気をつけるべきポイントをまとめています。
Unity2023.1からdidAwake,didStartなんてのがあった
【ハルシオンブログ】Unity2023.1からdidAwake,didStartなんてのがあった - ハルシオンシステムの気ままBlog
Unity 2023.1から追加された、MonoBehaviour
の Awake
や Start
が実行済みかを判定するために追加されたプロパティについて紹介しています。
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」で失敗する
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が不要になりました。