2022-01-01から1年間の記事一覧

ポエム - .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を運用していくにあたり、 タスク定義の二重管理が発生していた話 二重…

GoでHTTP/3サーバーを試してみる

はじめに エンジニアの松原です。今年6月にHTTP/3がRFC 9114として標準化されましたが、主要なWebフレームワークで対応するのはまだ時間がかかりそうなイメージがあります。 この背景にHTTP/3ではQUICという新しいプロトコルを利用すること、HTTP/3で通信す…

unitypackage形式のアセットをupmパッケージに改造する

エンジニアの岡村です。 Unity2020.1から実装されたupmはバージョンアップを重ね、GUIでのインストールやカスタムレジストリの登録まで出来るようになり、かなり実用的といえる機能になってきています。 しかし、Unity AssetStoreで配布されているアセットは…

Unityでアバターを外部からいい感じにロードしたい

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 私の前回の記事では、Unityにおける画像のランタイムでのロード方法を紹介しました。 synamon.hatenablog.com Unityは画像に限らずRuntimeで外部リソースを取り込もうとするとひと手…

StreamDeckのプラグインを作ってみる

はじめに エンジニアの松原です。趣味のガジェット漁りで以前 StreamDeck を購入しました。エンジニアとして、デバイスに関して何かできないか調べていたところ、このデバイスではプラグインを自作できるようで、ソースコードにhtmlとJavascriptが使われてい…

NFTなんもわからんのでとりあえず試してみた②〜Hardhatでテスト実装編〜

こんにちは、エンジニアの黒岩(@kro96_xr)です。 バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 前回自分の記事ではブラウザ上で動作するRemix IDEを使ってコントラクトの実装を試してみました。 synamon.hatenablog.com 今回は…

URPで丸影を真下に落とす方法の検討

はじめに Shader好きなエンジニアのおうどん(@oudon)です。 キャラクターの影を軽量化するため丸影にしつつ真下に落とす、かつ数も多く表示したい という要件でShadowMap拡張とDecalの2パターンほど試してみました。 ShadowMapをそのまま利用できないか 軽量…

NetworkedProperty(に相当する機能)のすゝめ

エンジニアの岡村です。 Unityでネットワークマルチプレイを行うアプリケーションを開発する場合、ある程度以上の規模があるのならば、その実装にはネットワークライブラリを利用するのが一般的かと思います。 その際に使われるライブラリにもいろいろな製品…