<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[데브스타의 블로그]]></title><description><![CDATA[데브스타의 블로그]]></description><link>https://weppykr.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 19:38:13 GMT</lastBuildDate><atom:link href="https://weppykr.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[지식 기반 Ai 챗봇을 이용한 게임 가이드 구현]]></title><description><![CDATA[게임 시스템은 매우 복잡하기 때문에, 게이머의 편의를 위해 각종 튜토리얼과 가이드를 제공하는 것이 중요합니다. 그러나 튜토리얼 작업에는 많은 시간이 소요되고, 시스템이 변경될 때마다 이를 수정해야 하는 어려움이 있습니다.
지식 기반 AI 챗봇을 이용하여 게이머가 개발사의 공식 정보를 쉽게 확인할 수 있도록 하고, 개발사는 튜토리얼 개발에 소요되는 리소스를 줄일 수 있는 방법을 Unity WebView 와  Sendbird AI chatbot을 ...]]></description><link>https://weppykr.hashnode.dev/ai</link><guid isPermaLink="true">https://weppykr.hashnode.dev/ai</guid><category><![CDATA[unity]]></category><category><![CDATA[AI]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[chatbot]]></category><category><![CDATA[sendbird]]></category><dc:creator><![CDATA[HANBYEOL LEE]]></dc:creator><pubDate>Sat, 27 Jul 2024 15:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1721570951336/dcf9874a-0b4b-4729-847a-809b196c3e02.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>게임 시스템은 매우 복잡하기 때문에, 게이머의 편의를 위해 각종 튜토리얼과 가이드를 제공하는 것이 중요합니다. 그러나 튜토리얼 작업에는 많은 시간이 소요되고, 시스템이 변경될 때마다 이를 수정해야 하는 어려움이 있습니다.</p>
<p>지식 기반 AI 챗봇을 이용하여 게이머가 개발사의 공식 정보를 쉽게 확인할 수 있도록 하고, 개발사는 튜토리얼 개발에 소요되는 리소스를 줄일 수 있는 방법을 <mark>Unity WebView 와 </mark> <a target="_blank" href="https://sendbird.com/docs/ai-chatbot/guide/v1/overview"><mark>Sendbird AI chatbot</mark></a><mark>을 이용하여 구현</mark>해 보았습니다.</p>
<p>챗봇에게 적절한 정보를 제공하면, 다음과 같은 질문에 대한 답변도 가능합니다</p>
<ul>
<li><p><strong>전설 아이템 제작 하는 방법 알려줄 수 있어?</strong></p>
</li>
<li><p><strong>레벨 10에 적당한 사냥터는 어디일까?</strong></p>
</li>
<li><p><strong>공격력이 가장 높은 검은 어떤 거야? 어디서 획득할 수 있어?</strong></p>
</li>
<li><p><strong>10번 스테이지 보스 공략법 알려줄 수 있어?</strong></p>
</li>
</ul>
<p>이처럼 AI 챗봇을 통해 게이머는 언제든지 필요한 정보를 손쉽게 얻을 수 있으며, 이는 게임 플레이의 몰입도를 높이는 데 큰 도움이 될 것입니다.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721554121096/20050454-c426-4e59-953b-55aecd1c0872.gif" alt class="image--center mx-auto" /></p>
<hr />
<h3 id="heading-kirspidruyqg7iks7zwtkio"><strong>준비 사항</strong></h3>
<ul>
<li><p>Unity 6</p>
</li>
<li><p><a target="_blank" href="https://github.com/gree/unity-webview">Unity WebView 패키지</a></p>
</li>
<li><p>게임 정보를 작성한 PDF 파일</p>
</li>
<li><p><a target="_blank" href="https://dashboard.sendbird.com/">Sendbird AI Chatbot</a></p>
</li>
</ul>
<h3 id="heading-kirsoitssrqg6ro87kcvkio"><strong>전체 과정</strong></h3>
<ol>
<li><p>Unity 프로젝트</p>
<ol>
<li><p>Chatbot을 연결할 HTML 파일 추가</p>
</li>
<li><p>HTML 파일 오픈을 위한 WebView 패키지 추가</p>
</li>
<li><p>WebView 오픈을 위한 MonoBehaviour 스크립트 추가</p>
</li>
</ol>
</li>
<li><p><a target="_blank" href="https://dashboard.sendbird.com/">Sendbird 대시보드</a></p>
<ol>
<li><p>대시보드에 접속하여 계정을 만들고 새로운 Application을 생성합니다.</p>
</li>
<li><p>AI chatbot 을 생성하고 게임 정보를 작성한 PDF 파일을 등록합니다</p>
</li>
<li><p>대시보드에서 Application ID 와 Bot ID 를 복사하여 HTML 파일에 적용합니다</p>
</li>
</ol>
</li>
<li><p>유니티 에디터에서 Play or Build 하여 확인합니다.</p>
</li>
</ol>
<hr />
<h3 id="heading-kirqtaztmiqqkg"><strong>구현</strong></h3>
<ol>
<li><p><strong>Unity 프로젝트에 HTML 파일 추가</strong></p>
<ol>
<li><p><code>Assets/StreamingAssets</code> 폴더에 <code>Chatbot.html</code> 파일을 추가하고 다음과 같이 작성합니다.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721553289475/768c59fb-e48b-4b62-9203-9f114cf729a4.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-xml"> <span class="hljs-meta">&lt;!DOCTYPE <span class="hljs-meta-keyword">html</span>&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">html</span> <span class="hljs-attr">lang</span>=<span class="hljs-string">"en"</span>&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">head</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1.0"</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">http-equiv</span>=<span class="hljs-string">"X-UA-Compatible"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"ie=edge"</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">title</span>&gt;</span>Chatbot<span class="hljs-tag">&lt;/<span class="hljs-name">title</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">crossorigin</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/react@18.2.0/umd/react.development.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">crossorigin</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/react-dom@18.2.0/umd/react-dom.development.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">script</span>&gt;</span><span class="javascript">process = { <span class="hljs-attr">env</span>: { <span class="hljs-attr">NODE_ENV</span>: <span class="hljs-string">''</span> } }</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">crossorigin</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/@sendbird/chat-ai-widget@latest/dist/index.umd.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">link</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"https://unpkg.com/@sendbird/chat-ai-widget@latest/dist/style.css"</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"stylesheet"</span> /&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/@babel/standalone/babel.min.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">style</span>&gt;</span><span class="css">
         <span class="hljs-selector-tag">html</span>,<span class="hljs-selector-tag">body</span> { <span class="hljs-attribute">height</span>:<span class="hljs-number">100%</span> }
         <span class="hljs-selector-id">#aichatbot-widget-close-icon</span> { <span class="hljs-attribute">display</span>: none }
         <span class="hljs-selector-id">#scale-container</span> {
             <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">1</span>);
             <span class="hljs-attribute">transform-origin</span>: bottom right;
             <span class="hljs-attribute">height</span>: <span class="hljs-number">100%</span>;
             <span class="hljs-attribute">zoom</span>: <span class="hljs-number">3</span>;
         }
     </span><span class="hljs-tag">&lt;/<span class="hljs-name">style</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">head</span>&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">body</span>&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"root"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>

 <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text/babel"</span>&gt;</span><span class="xml">
     const { ChatWindow } = window.ChatAiWidget
     const App = () =&gt; {
         <span class="hljs-comment">&lt;!-- Replace YOUR_APPLICATION_ID and YOUR_BOT_ID with the actual application ID and bot ID you intend to use. --&gt;</span>
         return (
             <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"scale-container"</span>&gt;</span>
                 <span class="hljs-tag">&lt;<span class="hljs-name">ChatWindow</span>
                     <span class="hljs-attr">applicationId</span>=<span class="hljs-string">"YOUR_APPLICATION_ID"</span>
                     <span class="hljs-attr">botId</span>=<span class="hljs-string">"YOUR_BOT_ID"</span>
                 /&gt;</span>
             <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
         )
     }
     ReactDOM.createRoot(document.querySelector('#root')).render(<span class="hljs-tag">&lt;<span class="hljs-name">App</span>/&gt;</span>);
 </span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">body</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">html</span>&gt;</span>
</code></pre>
</li>
</ol>
</li>
<li><p><strong>Unity WebView 패키지 추가</strong></p>
<ol>
<li><p>Package Manager의 왼쪽 상단 메뉴에서 <code>Install package from git URL…</code>을 클릭합니다.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721568533140/856fa504-fa60-4135-a931-99cad97a97ec.png" alt class="image--center mx-auto" /></p>
</li>
<li><p><code>https://github.com/gree/unity-webview.git?path=/dist/package</code>를 입력하고 Install 버튼을 클릭하여 설치합니다.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721568570636/8dcadf48-5421-43ba-b39c-e48b0786d49f.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
</li>
<li><p><strong>웹뷰를 오픈하기 위한 MonoBehaviour 스크립트 작성</strong></p>
<ol>
<li><p><code>Assets/Scripts</code> 폴더에 <code>ChatbotWebView.cs</code> 파일을 추가하고 버튼 클릭 시 HTML 파일을 로드하는 스크립트를 다음과 같이 작성합니다.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721565299358/b68a169e-5aeb-48a7-989c-574b610057b9.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-csharp"> <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ChatbotWebView</span> : <span class="hljs-title">UnityEngine.MonoBehaviour</span>
 {
     <span class="hljs-keyword">private</span> UnityEngine.UI.Button _openButton;
     <span class="hljs-keyword">private</span> WebViewObject _webViewObject;
     <span class="hljs-function"><span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Start</span>(<span class="hljs-params"></span>)</span>
     {
         _openButton = <span class="hljs-keyword">base</span>.transform.GetComponent&lt;UnityEngine.UI.Button&gt;();
         _openButton.onClick.AddListener(OnOpenChatbot);
     }
     <span class="hljs-function"><span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">OnOpenChatbot</span>(<span class="hljs-params"></span>)</span>
     {
         <span class="hljs-keyword">string</span> strUrl = <span class="hljs-string">$"file://<span class="hljs-subst">{UnityEngine.Application.streamingAssetsPath}</span>/Chatbot.html"</span>;
         _webViewObject = <span class="hljs-keyword">new</span> UnityEngine.GameObject(<span class="hljs-string">"ChatbotWebViewObject"</span>).AddComponent&lt;WebViewObject&gt;();
         _webViewObject.Init();
         _webViewObject.LoadURL(strUrl);
         _webViewObject.SetVisibility(<span class="hljs-literal">true</span>);
         _webViewObject.SetMargins(<span class="hljs-number">200</span>, <span class="hljs-number">400</span>, <span class="hljs-number">50</span>, <span class="hljs-number">400</span>);
     }
 }
</code></pre>
</li>
</ol>
</li>
<li><p><strong>Button UI 생성 및 ChatbotWebView 스크립트 추가</strong></p>
<ol>
<li><p><code>Button</code> UI 를 생성합니다.</p>
</li>
<li><p>생성된 Button 에 <code>ChatbotWebView</code> 컴포넌트를 추가합니다</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721565605291/e3b58fc9-a781-439f-8b5c-a3aa164c2251.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
</li>
<li><p><strong>Sendbird App 과 Ai chatbot(30일 무료)을 생성합니다</strong></p>
<ol>
<li><p><a target="_blank" href="https://dashboard.sendbird.com/">https://dashboard.sendbird.com</a> 에 접속합니다</p>
</li>
<li><p><mark>Application</mark> 을 생성합니다</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721566734774/6ec38bc8-f6f7-4060-b946-9c94cbc854b4.png" alt /></p>
<p> 왼쪽 탭에서 <mark>AI chatbot을 클릭-&gt; Get started</mark> 버튼을 클릭하여 생성합니다</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721566863284/d416886f-efae-48fa-bc5f-ded91a5a5da5.png" alt class="image--center mx-auto" /></p>
<p> 필요할 경우 설정값을 변경하고 Next 버튼을 클릭합니다</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567012268/bdca4a0d-4ebd-4f1a-afbd-b78714bd9317.png" alt class="image--center mx-auto" /></p>
<p> 게임 정보가 있는 <mark>PDF 파일을 등록</mark>합니다(PDF 예시)</p>
<pre><code class="lang-plaintext"> 게임제목 : 원소의 왕국: 심연과 승천 던전 정보
 던전 1: 불의 동굴
 난이도: 쉬움
 • 몬스터 종류:
 • 화염 슬라임
 • HP: 100, MP: 50, 공격력: 30, 방어력: 10
 던전 2: 얼음의 성채
 난이도: 중간
 • 몬스터 종류:
 • 얼음 골렘
 • HP: 300, MP: 100, 공격력: 50, 방어력: 40
 얼음검 (Ice Sword)
 • 재료:
 • 얼음 조각 x3 (획득처: 얼음 골렘, 빙하 늑대)
 • 빙하의 핵 x2 (획득처: 얼음 정령, 서리 마녀)
 • 강철 조각 x1 (획득처: 던전 상점)
 • 조합 방법: 얼음 조각과 빙하의 핵을 강철 조각에 주입하여 냉각 후 단련합니다.
</code></pre>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567064214/12cd41a8-fc92-41f7-9445-7d2bc4a4c23e.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567097031/e06d28a9-6450-453a-9086-9e4a4bb94e31.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>생성이 완료 되었습니다</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567157045/4b1a3d3d-60d8-4e5d-8a1f-0cd1493bfbb7.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
</li>
</ol>
<p>6. <strong>Application ID 와 Bot ID를 복사하여 HTML 에 적용합니다</strong></p>
<ol>
<li><p><code>Application ID</code>를 <mark>복사하여</mark><code>StreamingAssets/Chatbot.html</code> 파일의 <code>YOUR_APPLICATION_ID</code> 와 <mark>교체합니다</mark></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567554318/49fc43b4-9982-4bfb-8f8c-4f278a5d1aaf.png" alt class="image--center mx-auto" /></p>
</li>
<li><p><code>Bot ID</code>를 <mark>복사하여</mark><code>StreamingAssets/Chatbot.html</code> 파일의 <mark>YOUR_BOT_ID</mark> 와 <mark>교체합니다</mark></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721567493308/7449c917-04dc-4788-903f-81ac22848b34.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721568165983/83759431-2ebc-43b8-83e6-2f85d384bb94.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
<p>7. <strong>유니티 에디터에서 Play or Build 하여 확인합니다.</strong></p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1721568719860/7093c00c-9141-47bc-b9a0-b5b1e973a477.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Unity 에서 원격으로 사용가능한 Console 패키지]]></title><description><![CDATA[Unity로 개발하는 동안 유용하게 사용하던 콘솔 에디터를 오픈 소스로 공개했습니다.
네트워크 연결을 통해 앱에서 생성된 로그를 에디터에서 원격으로 확인할 수 있고, 사용자 정의 명령어를 실행할 수 있어 다양한 테스트와 디버깅에 유용합니다.
Unity 패키지 매니저를 사용하여 쉽게 설치하고 사용할 수 있습니다.
Introduction
RemoteConsole 은 원격으로 전송 되는 로그를 통해 디버깅을 하고, 사용자 정의 명령어를 이용하여 개발...]]></description><link>https://weppykr.hashnode.dev/unity-console</link><guid isPermaLink="true">https://weppykr.hashnode.dev/unity-console</guid><category><![CDATA[unity]]></category><category><![CDATA[console]]></category><category><![CDATA[remote]]></category><category><![CDATA[log]]></category><dc:creator><![CDATA[HANBYEOL LEE]]></dc:creator><pubDate>Fri, 22 Dec 2023 15:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1721631482532/0c57443f-8159-4fbb-bbb8-1e1a5efffb85.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Unity로 개발하는 동안 유용하게 사용하던 콘솔 에디터를 오픈 소스로 공개했습니다.</p>
<p>네트워크 연결을 통해 앱에서 생성된 로그를 에디터에서 원격으로 확인할 수 있고, 사용자 정의 명령어를 실행할 수 있어 다양한 테스트와 디버깅에 유용합니다.</p>
<p>Unity 패키지 매니저를 사용하여 쉽게 설치하고 사용할 수 있습니다.</p>
<h2 id="heading-introduction">Introduction</h2>
<p><a target="_blank" href="https://www.youtube.com/watch?v=Da6OSc6FiX8">RemoteConsole 은 원격으로 전송 되는 로그를 통해 디버깅을 하고, 사용자 정의 명령어를 이용하여 개발 편의성을 높이는 강력한 툴입니다.</a></p>
<ul>
<li><p>유니티 <strong>기본 콘솔의 모든 기능</strong>을 지원합니다</p>
</li>
<li><p>빌드 된 앱과 <strong>원격</strong> 으로 연결되어 <strong>사용자 정의 명령어</strong> 를 실행합니다</p>
</li>
<li><p>빌드 된 앱과 <strong>원격</strong> 으로 연결되어 <strong>로그</strong> 를 확인할 수 있습니다</p>
</li>
<li><p><strong>원격</strong> 으로 연결 된 앱에 <strong>Pause, Step</strong> 기능을 이용하여, 프레임 단위 실행이 가능합니다</p>
</li>
<li><p>로그 발생 시점의 <strong>시간</strong>, <strong>프레임 카운트</strong>, <strong>오브젝트</strong> 를 쉽게 확인 가능합니다</p>
</li>
<li><p>편리한 로그 <strong>필터</strong> 기능을 제공합니다</p>
</li>
<li><p>연결된 앱의 <strong>시스템 정보</strong> 및 간단한 <strong>프로파일</strong>(FPS, UsedHeap) 정보를 확인 가능합니다</p>
</li>
<li><p>로그 발생 게임오브젝트와 소스코드 를 편리하게 확인할수 있습니다.</p>
</li>
</ul>
<hr />
<h2 id="heading-features">Features</h2>
<h3 id="heading-7iks7jqp7j6qioygleydmcdrqoxrolnslrq">사용자 정의 명령어</h3>
<p>플레이 중 각종 값을 변경 가능하며 테스트나 디버깅에 유용합니다</p>
<ol>
<li><p>스크립트에서 SPlugin.SCommand.Register 함수를 이용하여 사용자 정의 명령어를 등록합니다</p>
</li>
<li><p>SConsole 에디터의 CommandView 에서 등록된 사용자 정의 명령어를 확인 가능합니다</p>
</li>
<li><p>사용자 정의 명령어의 값을 변경합니다</p>
</li>
</ol>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fregister_commands_code.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fregister_commands_code.png" alt /></a></p>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fapply_commands_to_remote_app.gif"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fapply_commands_to_remote_app.gif" alt /></a></p>
<hr />
<h3 id="heading-66gc6re4">로그</h3>
<ul>
<li><p>UnityEngine.Debug 이용</p>
<ol>
<li><p>스크립트에서 UnityEngine.Debug.Log 함수를 이용하여 로그를 작성합니다</p>
</li>
<li><p>SConsole 에디터의 Preferences 에서 Show UnityDebugLog 를 활성화 합니다</p>
</li>
<li><p>SConsole 에디터의 LogView에서 로그 확인이 가능합니다</p>
</li>
</ol>
</li>
<li><p>SPlugin.SDebug 이용</p>
<ol>
<li><p>스크립트에서 SPlugin.SDebug.Log 함수를 이용하여 로그를 작성합니다</p>
</li>
<li><p>SConsole 에디터의 LogView에서 로그 확인이 가능합니다</p>
</li>
</ol>
</li>
</ul>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Flog_code.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Flog_code.png" alt /></a></p>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fshow_log_from_remote_app.gif"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fshow_log_from_remote_app.gif" alt /></a></p>
<hr />
<h3 id="heading-7y6466as7zwcio2vho2escdquldriqu">편리한 필터 기능</h3>
<ul>
<li><p>Search 를 이용하여 로그 찾기</p>
</li>
<li><p>Exclude 를 이용하여 로그 제외하기</p>
</li>
<li><p>QuickSearch 를 이용하여 로그 찾기</p>
</li>
</ul>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fquick_search.gif"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fquick_search.gif" alt="quick_search.gif" /></a></p>
<hr />
<h3 id="heading-pause-step">Pause, Step</h3>
<p>원격으로 연결된 앱에서 프레임 단위 플레이가 가능하여 디버깅에 도움이 됩니다</p>
<hr />
<h3 id="heading-7juq6rkpioygkeygjq">원격 접속</h3>
<ul>
<li><p>로컬 네트워크에서 접속 가능한 앱을 찾아 연결</p>
<ol>
<li><p>SConsole 에디터의 ApplicationView 에서 접속이 가능한 앱을 찾습니다</p>
</li>
<li><p>연결 가능한 앱이 있을 경우 리스트에 등록 됩니다</p>
</li>
<li><p>앱을 선택 합니다</p>
</li>
</ol>
</li>
<li><p>로컬 네트워크의 사설 IP 또는 공인 IP 를 이용하여 앱 연결</p>
<ol>
<li><p>SConsole 에디터의 ApplicationView 에서 <strong>로컬 네트워크의 사설 IP</strong> 또는 <strong>공인 IP</strong>를 입력합니다</p>
</li>
<li><p>Connect 버튼을 눌러 연결 합니다</p>
</li>
</ol>
</li>
</ul>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fconnect_to_remote_app.gif"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fconnect_to_remote_app.gif" alt="connect_to_remote_app.gif" /></a></p>
<hr />
<h3 id="heading-7iuc7iqk7ywciouwjydtlitrozztjizsnbwg7kcv67o0">시스템 및 프로파일 정보</h3>
<ol>
<li><p>SConsole 에디터의 ApplicationView 에서 앱 리스트를 확인합니다</p>
</li>
<li><p>ShowInfo 버튼을 눌러 시스템 및 프로파일 정보를 확인합니다</p>
</li>
</ol>
<p><a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fsysteminfo.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fsysteminfo.png" alt="systeminfo.png" /></a></p>
<hr />
<h2 id="heading-getting-started">Getting started</h2>
<ol>
<li><p>SRemoteConsole 설치</p>
<ol>
<li><p>유니티 에디터에서 <code>Window/Package Manager</code> 를 클릭 합니다</p>
<p> <a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Finstall%2Fselect_package_manager.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Finstall%2Fselect_package_manager.png" alt="select_package_manager.png" /></a></p>
</li>
<li><p>Package Manager 의 왼쪽 상단 <code>+</code> 버튼을 클릭하고 <code>Add package from git URL...</code> 을 선택합니다</p>
<p> <a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Finstall%2Fselect_add_menu_with_git.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Finstall%2Fselect_add_menu_with_git.png" alt="select_add_menu_with_git.png" /></a></p>
</li>
<li><p>SRemoteConsole 패키지의 git 주소를 입력 합니다</p>
<p> <code>https://github.com/hope1026/unity_s_remote_console_package.git</code></p>
</li>
<li><p><code>Add</code> 버튼을 클릭하면 패키지가 설치 됩니다</p>
<p> <a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Finstall%2Fadd_git_url.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Finstall%2Fadd_git_url.png" alt="add_git_url.png" /></a></p>
</li>
</ol>
</li>
<li><p>SRemoteConsole 실행</p>
<ol>
<li><p>유니티 에디터에서 <code>Window/SPlugin/SConsole</code> 를 클릭 합니다</p>
<p> <a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Finstall%2Fselect_remote_console.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Finstall%2Fselect_remote_console.png" alt="select_remote_console.png" /></a></p>
</li>
<li><p>스크립트에 로그를 작성합니다</p>
<ul>
<li>SPlugin.SDebug.Log("log");</li>
</ul>
</li>
<li><p>SConsole 에디터에서 로그를 확인 합니다</p>
</li>
</ol>
</li>
</ol>
<hr />
<h2 id="heading-disable-sremoteconsole">Disable SRemoteConsole</h2>
<ul>
<li><p>Project Settings -&gt; Player -&gt; Scripting Define Symbols 에 <strong>DISABLE_SREMOTE_CONSOLE</strong> 를 추가하여 비활성화 할수 있습니다</p>
<ul>
<li>에디터에서 SRemoteConsole은 실행되지만 Runtime에 동작하지 않아 릴리즈 배포시 유용하게 사용할수 있습니다</li>
</ul>
</li>
</ul>
<p>    <a target="_blank" href="https://github.com/hope1026/sremote_console_package/blob/main/Documentation%7E/Images%2Fdisable_sremote_console_define.png"><img src="https://github.com/hope1026/sremote_console_package/raw/main/Documentation%7E/Images%2Fdisable_sremote_console_define.png" alt="disable_sremote_console_define.png" /></a></p>
<h2 id="heading-httpsgithubcomhope1026sremoteconsolepackage"><strong></strong><a target="_blank" href="https://github.com/hope1026/sremote_console_package"><strong>더 자세한 정보 보기</strong></a></h2>
]]></content:encoded></item></channel></rss>