Unityのアプリ上でWebAssemblyを動かしてみる

WebAssemblyのランタイムのWasmtimeをUnityにネイティブプラグインとして組み込み、Editor上で動作確認ができました。 その過程で得られたWasm周辺の知見を紹介します。

Unity 2021.3.0f1でQuest開発している時に遭遇したUIが消える不具合について

エンジニアの岡村です。 先週うぃすきーさんから障害対処の記事が出ていたので、自分も重大度としては低いですが、社内開発中に発生した不具合と、それが解決するまでの過程を作業記録として書いてみることにしました。何かの参考になれば幸いです。 結論 Un…

Firebase AuthenticationでのサインインがiOS16.1でできなくなった際の障害対応記録

経緯 うぃすきー(@whisky_shusuky)です。 2022年10月頃にiOS16.1においてfirebase authenticationのリダイレクトを使ったサインインができない事象が発生しました。 github.com 発生直後のアプリリリースでは、 OS側のアップデートが原因である 他のデバイス…

ウェブサイトのユーザー行動分析のための仕組みについて考察する(1)

はじめに エンジニアの松原です。一時期ホームページなどでアクセスログやユーザーの行動履歴を収集、解析するためにGoogle Analyticsを活用することが流行っていましたが、私自身は実際は裏側で動いている仕組み自体を知らないまま使っていました。 以前日…

ChatGPTを使ってOpenAPIの定義を作成してモックサーバを立てる

こんにちは、エンジニアの黒岩(@kro96_xr)です。 はじめに ChatGPT、流行ってますね。 openai.com VSCodeの拡張を使ってコードレビューをしたり qiita.com SQLを書いてもらったり ChatGPT、SQLを書くのに使えるな。細かいテーブル定義を教えなくてもいい感じ…

Enhanced Scroller × MVPパターン × UniRxを使ってUnityで高機能なScrollerをいい感じに実装する

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 現在Synamonが開発しているサービスのSYNMNでは、2DUI(uGUI)のScrollerの実装にはUnity標準のScrollRectではなく、有料アセットのEnhanced Scrollerを使用しています。*1 Scroller…

GitHub Actionsを使ってアプリを開発するときのワークフロー記述の個人的ベストプラクティス

皆さん、あけましておめでとうございます! エンジニアの岡村です。 今年もSynamon's Engineer blogでは皆様の開発の参考になることを願って情報を発信していきます! GitHub Actions GITHUB_STEP_SUMMARYに、後から確認出来るようにワークフローのパラメー…

ポエム - .NET MAUI はモダンな "Write Once, Run Anywhere" を確立してほしいという希望

こんにちは、エンジニアの庭山(@rkoubou_jp)です。 本記事は Synamon Advent Calendar 2022 19日目の記事になります。 去年の Synamon Advent Calendar 2021 で MAUI の記事を書いたのですが、2022年5月に MAUI が GA(正式版) リリースとなり、先日リリース…

Rails上で利用できるKarafkaを使ってKafkaを利用する

はじめに エンジニアの松原です。前回の記事では、簡単にKafkaをローカルでサーバーを建ててHello Worldをする内容を紹介しました。 synamon.hatenablog.com 前回はConsumer側にKafkaJSを利用していましたが、今回は、Karafka を利用して、Rails上からConsum…

Rustで始めるOpenGLを読んでRustに入門した

はじめに こんにちは、エンジニアのうぃすきー(@whisky_shusuky)です。 本記事は Synamon Advent Calendar 2022 の14日目の記事になります。 adventar.org RustはWeb関連でもそこそこ使われており興味があったのですが難しそうな印象が有ったため手をつけら…

UnityのUI Elements (UI Toolkit)を触ってみた

概要 EditorWindowのUI Elementsのセットアップ UI Elements一連ファイルについて スクリプト(cs) UI Document(uxml) スタイルシート(uss) 各種Component ToolbarMenu ToolbarToggle ScrollView Foldout Dropdown RadioButtonGroup Progress bar レイアウト…

Amazon CodeCatalystを触ってみる

こんにちは、エンジニアの黒岩(@kro96_xr)です。 本記事は Synamon Advent Calendar 2022 の7日目の記事になります。 adventar.org はじめに 今年もAWS re:Invent 2022で様々な新機能の発表やアップデートがありました。 今回はそれらの中で気になったAmazon…

SYNMNのマルチプレイの仕組みについてちょっと紹介

本記事は Synamon Advent Calendar 2022 の5日目の記事になります。 adventar.org エンジニアの岡村です。 Synamonが現在ベータ版として提供している新しいアプリ「SYNMN」。皆さん触ってみましたか? 今回は、そんなSYNMNのマルチプレイ処理をちょっと紹介…

KafkaとKafkaJSのHelloWorldを試してみた

はじめに エンジニアの松原です。普段の開発ではHTTPサーバーを扱うことが多いのですが、負荷軽減のための様々なサーバー側のギミックについて調べていく中で、メッセージキューの仕組みについて目に留まりました。 今回はKafkaについて紹介します。元々メッ…

Synamonアドベントカレンダー2022を開催します!!

本記事は Synamon Advent Calendar 2022 の1日目の記事になります。 adventar.org こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 もう今年も終わりに近づいてきましたね。 年末といえば、アドベントカレンダーの季節ですね! 昨年…

Addressablesの意図しない依存関係をチェックしたい

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 Synamonの新プロダクト SYNMN (読みはシナモン) synmn.app のベータ版のリリースが始まり、8月頃に記事を書いた Unity の Addressables 周りの仕組みが運用に乗り始めました。 syn…

GitHub ActionsのキャッシュをS3に移行した

GitHub公式のキャッシュ機能 GitHub公式のキャッシュ機能の問題点 tespkg/actions-cacheの採用 結果 こんにちは、エンジニアの岡村です。 このブログで何度か紹介してきましたように、弊社ではGitHub ActionsとAWSでUnityのCIを回しています。 synamon.haten…

ドメイン切替対応でリダイレクト用途だけのサーバをCloudfront+S3で作った話

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 今回は弊社ティザーサイトのドメイン変更時にリダイレクト用のサーバが必要になり、Cloudfront+S3という構成で作成した話…

Oculus IntegrationからQuest Proの新機能を触ってみる(視線追従)

はじめに エンジニアの松原です。運よくQuestProの発売日の直後(10/26)に届き、Quest2で積みっぱなしになっていた釣りゲームを週末やっていました。 ふと、最近Unity上でHMDを使った開発をしていないことに気づき、この機会にQuest Proの新機能に触れる目的…

ソフトウェアライセンスでヒヤッとした事例から学んだ教訓

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 少し前にTwitterで、GitHub CopilotがLGPLライセンスのコードをライセンス表記なしに出力する、という話が話題になったのをご存じですか? @github copilot, with "public code" blo…

メタバース企業でのバックエンドエンジニアの役割について

こんにちは、エンジニアのクロ(@kro96_xr)です。バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 今回はいつもと少し毛色を変えて、イベントレポ兼採用寄りのお話をしたいと思います。 なお、タイトルでメタバース企業と銘打ってし…

Unityの設定を一括で切り替える為に作ったEditor拡張の紹介

EnvironmentContextSwitcher 主な機能 コンテキストの追加、削除 コンテキストの適用 コンテキストの定義の編集 ビルド、再生時の自動適用 C#スクリプトからのコンテキストの適用 実装 その他細かい実装の話 ContextSwitcherWindowからContextStoreを参照す…

プロジェクトをNetcode for GameObjectsのリリース版にアップデートする

はじめに エンジニアの松原です。先日Unityがマルチプレイヤーのための新しいツール群の発表をUnityの公式ブログから発表がありました。 この中に含まれるNetcode for GameObjectsに関してはこのテックブログでもいくつかの記事(その1、その2、その3、その4…

【Golang】GinのログをカスタマイズしてリクエストIDを追加する

こんにちは、エンジニアのクロ(@kro96_xr)です。バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 少し前にタイトルの件について調べていたのですが、あまりまとまった記事がなさそうだったのでまとめることにしました。 もし本記事…

運用開始から4か月経ってから振り返るAWS&GitHub&Terraformを使ったUnity CI環境

エンジニアの岡村です。 このテックブログでは以前、AWS EC2でUnity環境を立ち上げ、GitHub ActionsのCI環境を構築する記事シリーズを投稿しました。 synamon.hatenablog.com synamon.hatenablog.com synamon.hatenablog.com synamon.hatenablog.com 今回、…

UnityのAddressablesのRemoteコンテンツ運用 - ContentCatalog

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 今回は前回の記事の続きとして、UnityのAddressablesのCatalog(Content Catalog)の詳しい紹介をします。 前回の記事はこちら。 synamon.hatenablog.com RemoteからAssetBundleをダ…

テックブログを週1回・1年間更新継続するための3ステップ

Synamon採用担当の熊谷(@spirea_xxx)です! なんと、弊社のテックブログが週1回・連続1年更新を達成しました~!!! 弊社のテックブログ記事や1年更新のことををSNSで皆さんに紹介する中で「テックブログの週1回更新を1年間続けるって、相当すごいんじゃな…

UnityのBuildSettingsウィンドウの表記とスクリプティングAPIの対応を纏めました(Unity 2021.3.0f1)

前提 ビルドプラットフォームについて Architectureの指定について Windows macOS 余談:ビルド時にプラットフォームを切り替えてもビルドスクリプト中の#if分岐は有効にならない Build Settings 一覧 Windows macOS Linux Android iOS WebGL 以上 エンジニ…

UnityのAddressablesのRemoteコンテンツ運用 - ResourceProviderのカスタマイズ

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 皆さんはUnityのAddressables(Addressable Asset System)を使っていますか? 自分はベータ版の頃に不安定だったという印象でこれまであまり触ってこなかったのですが、いざ触って…

Terraform&Github ActionsのCI/CD環境でECSタスク定義の二重管理を解消する方法

こんにちは、エンジニアのクロ(@kro96_xr)です。バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 今回はTerraformとGithub Actionsを組み合わせてECS Fargateを運用していくにあたり、 タスク定義の二重管理が発生していた話 二重…