クライアント

新着順 人気順

UnityのPresetManagerでテクスチャImport設定を自動化する

目次 UnityのPresetManagerでテクスチャImport設定を自動化する はじめに 内容 Presetを作成する PresetManagerに登録する Import設定自動化のメリット 設定漏れを防ぎやすい Compressionの設定を揃えやすい 用途ごとのルールをPresetとして残せる レビュー…

UIプレハブを一元管理・自動生成するUnityエディタ拡張の設計と実装

目次 はじめに なぜ作ったのか 全体像 グループとアイテムのデータモデル エディタウィンドウの実装 ReorderableList による並び替え 重複登録を防ぐ プレビューの実装 再生ボタンでアニメーションを確認する Project Settings への統合 テンプレートからの…

『呪術廻戦 ファントムパレード』におけるUnityメモリ最適化の取り組み - 低メモリ環境での安定動作を大幅改善

こんにちは、Sumzapクライアントエンジニアの白濱です。 本記事では、スマートフォン向けゲーム『呪術廻戦 ファントムパレード』において、メモリ逼迫によるクラッシュ問題に対して実施した一連の最適化施策について紹介します。2か月間の集中的な取り組みに…

UI Toolkitで自作するUnityランタイムデバッグツールの設計と実装

目次 はじめに なぜ自作したのか UI Toolkit を採用した理由 ゲーム本体の UI と独立して動かせる USS によるスタイル管理 ListView の仮想化 Editor / Runtime 両対応 PanelSettings の分離 ScriptableObject ベースの設定アーキテクチャ Setup Wizard で初…

ScrollRectを使わないUnityリサイクルスクロールの設計と実装

目次 はじめに ScrollRect を使わない理由 標準コンポーネントの課題 ReusableScroller のアプローチ 全体のアーキテクチャ ScrollView ― 制御の中心 ScrollCellData ― セルのデータ ScrollCell ― セルのビュー 初期化処理 セルリサイクルの仕組み 2つのリス…

モバイルゲームのローカルキャッシュが壊れた!アトミック書き込みと3層防御で解決した話

目次 はじめに なぜマスタデータは壊れるのか 書き込み途中のクラッシュ スレッド競合 データとハッシュの不整合 設計方針:3層防御 第1層:破損防止 アトミック書き込み スレッドセーフ化 起動時クリーンアップ 第2層:検知 整合性状態の定義 VerifyAndRead…

Unityでの開発を支えるアプリケーション基盤

はじめに Unityでゲームを開発していると、プロジェクトが変わっても繰り返し必要になる機能があります。デバッグツール、多言語対応、セーブデータの管理、大量データを表示するスクロールリスト――どれも一から作ると相応の工数がかかりますし、プロジェク…

Unity テクスチャのメモリ使用量をプラットフォーム別に正確に求める

本記事は、「サムザップ Advent Calendar 2025」 の12/6の記事です。 はじめに 複数プラットフォームを対象にしたUnityプロジェクトでは、テクスチャが実機でどれだけメモリを消費するかを把握することが欠かせません。Inspectorを見ればメモリ使用量はわか…

『呪術廻戦 ファントムパレード』渋谷事変マップのアウトゲーム開発 ~新規表現と保守性の両立~

目次 渋谷事変マップとは 渋谷事変マップ作成までのハードル 通常メインクエストマップと渋谷事変マップの両立 渋谷事変用のデータ構成 クエストクリア後演出、マップ変形演出について おわりに 渋谷事変マップとは 弊社で開発・運用中のタイトル『呪術廻戦 …

『呪術廻戦 ファントムパレード』「バトルリザルト」の大規模リファクタ ~工数10営削減までの裏側~

目次 はじめに バトルリザルトが抱えていた課題について リファクタリングの実施方針 リファクタ時の注意した項目について バトルリザルトのリファクタフロー 1.バトルリザルト演出のフローを洗い出す 2. 課題を洗い出して、リファクタリングのゴールを決め…

サービスロケータを用いたUnityでの活用事例

はじめに サービスロケータ サービスロケータとは サービスロケータを紹介する上での背景 サービスロケータの役割 サービスロケータの実装例 サービスロケータのメリットとデメリット メリット デメリット 活用事例 通信APIのレスポンス差し替え データを差…

『この素晴らしい世界に祝福を!ファンタスティックデイズ』開発チームの新卒エンジニア1年目の振り返り

『この素晴らしい世界に祝福を!ファンタスティックデイズ』開発チームに所属している新卒2年目のエンジニアが1年目を振り返りつつ、ゲーム制作の仕事うやサムザップの文化、雰囲気をお伝えします。

『呪術廻戦 ファントムパレード』の多彩なスキル演出を生み出した制作ツールへのこだわり

『呪術廻戦 ファントムパレード』のバトルでは、スキル演出の制作にTimelineを用いています。 本セッションでは、スキル演出がTimelineによってどのように実現されているのか説明し、バトルチームのエンジニアが開発する「スキルTimeline制作ツール」の全体…

【Unity】パフォーマンスチューニングを組織的に解決する方法

Unityパフォーマンスチューニングバイブルと、それに対する輪読会の取り組みについて紹介します。

Firebase SDK を Unity Package Manager(UPM) 管理へ移行検証してみた話

Firebaseを既存の Assets 管理から Unity Package Manager 管理への移行検証を行った際の話になります。

リソース組み込み効率化の取り組みの紹介

「この素晴らしい世界に祝福を!ファンタスティックデイズ」でのリソース組み込みの効率化の取り組みについて紹介します。

【Unity】UI Toolkitで多人数開発は可能なのか?シンプルな画面遷移を作って検証してみる

Unityの次世代UIシステムUI Toolkitで画面遷移のサンプルを作って、多人数で絵開発可能かどうかを検証してみました。

GASのWebアプリケーションでストーリーのシナリオを自動で台本化するツールを作った話

ストーリーのシナリオから台本を自動で出力してくれる台本化ツールについて紹介します。

Live2Dを初めて導入した話

本記事ではLive2Dの導入事例を紹介していきたいと思います。

エイプリルフールイベントを事例に短期開発のために抑えたポイントをまとめてみた

「戦国炎舞 -KIZNA-」で実施されたイベントを事例に短期開発のポイントをまとめました。

AirtestでAndroidの連打テストを作成する

AirtestとPocoによるスマホ実機を利用した自動テストの解説記事です。

甘くて苦いAddressable Assets System

Addressable Assets System を使ったタイトルがリリースされて運用に入ったので、現在はどのような形でこの機能を取り扱っているか、軽く記していこうと思います。

Dockerを用いたUnityビルド環境の構築

Dockerを用いたUnityビルド環境の構築についてお話しします。

新規プロジェクトでスピード開発を実現するエンジニアの挑戦

高いコミット力でスピード開発を実現するエンジニアのインタビュー記事です。

長期運用タイトルにおけるAssetBundleビルド時間短縮の為のTips

長期運用ならではの内容を紹介します。同じ事象が発生した時の参考になれば幸いです。