原文:https://wiki.assistant.moe/modding/intro

一、简介

  Beat Saber 开发环境:unity2018、C#、.NET framework 4.6。

  此教程教你如何使用Visual Studio创建一个插件开发模板。

  1 下载最新版Visual Studio

  2 下载最新插件模板“BS.Plugin.Template.zip”

  https://github-production-release-asset-2e65be.s3.amazonaws.com/164500300/d8a9d300-1cd9-11e9-9e97-59fa48084c2c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190123%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190123T063620Z&X-Amz-Expires=300&X-Amz-Signature=a7bca54f93c7cb3427e0d811d02fc7a96d84b170a819404746183a5592e8ac50&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DBS.Plugin.Template.zip&response-content-type=application%2Foctet-stream

  (或Q群810303476,群文件下载)

二、安装模板

  1 打开ProjectTemplates目录

  一般路径:C:\Users\<Username>\Documents\Visual Studio 2017\Templates\ProjectTemplates

  2 将前面下载的插件模板文件“BS.Plugin.Template.zip”放入ProjectTemplates目录(注意直接放入zip文件,不要解压)

  3 打开VS,创建一个新项目,此时你应当可以在C#选项中看到“Beat Saber Plugin Template”,使用此模板创建项目

三、查看代码

  在右侧“解决方案”浏览框中,双击“Plugin.cs”来打开代码文件,你应该能看到如下图所示的内容:

  画红线的地方表明项目没能找到相关的引用,下面我们添加一下项目引用。

四、添加引用

  在右侧的“解决方案”浏览框中右键“引用”,选择“添加引用”

  在打开的引用管理窗口中你可以添加一下缺失的dll文件,这些dll一般都在“\<Beat Saber directory>\Beat Saber_Data\Managed”目录中

  部分dll文件在游戏的Plugins目录中(也就是说,某些情况下你需要引用通过ModManager下载的dll文件,比如Async Twitch、Beat Saber Utils、CustomUI)

五、编译插件

  如果所有引用问题都解决了,你可以试试编译一下(生成解决方案)

  编译生成的dll文件就会出现在项目路径的“\Bin\Debug”目录下

  将生成的dll文件放入游戏目录下的Plugins目录即可使用该插件了

六、一个简单的插件教程

  https://www.cnblogs.com/cation/p/10309157.html

请务必关注我们的公众号获取最新资源和信息:

更多资源在我们的讨论Q群:

810303476

BeatSaber节奏光剑插件开发官方教程1-创建一个插件模板的更多相关文章

  1. BeatSaber节奏光剑插件开发官方教程2-简单的插件示例

    原文:https://wiki.assistant.moe/modding/example-mod 一.在开始之前 1 确保你已经看过教你如何添加插件模板的教程,且你已经使用插件模板创建了一个新项目 ...

  2. BeatSaber节奏光剑双手柄MR教程

    一.物料准备: 1 显卡1060及以上的PC主机 2 HTC VIVE头盔一套(头盔直插显卡上的HDMI接口) 3 1080P摄像头一个(插USB3.0) 4 绿幕一套,能覆盖整个摄像头的可拍摄范围即 ...

  3. google maps js v3 api教程(1) -- 创建一个地图

    原文地址 google maps javascript官方文档:https://developers.google.com/maps/documentation/javascript/ 在创建地图之前 ...

  4. WordPress插件制作教程(一): 如何创建一个插件

    上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...

  5. android 自己创建一个凝视模板

    android  自己创建一个凝视模板 作为一名程序猿 不仅要有一个写代码的能力,养成一个良好的编写习惯也是非常重要的. 今天给大家具体介绍一下怎样创建凝视模板,给每一个类和方法都自己手动去凝视信息也 ...

  6. ArcGIS Desktop python Add-in 创建一个插件

    1)创建一个项目 首先创建一个插件项目,本节介绍如何利用向导创建一个插件项目. 创建任何一个ArcGIS插件产品的过程都是一样的. 创建一个Python插件项目包括2个步骤: a) 选择一个插件项目文 ...

  7. (7)nehe教程1 创建一个OpenGL窗口:

    不要用那个nehe ndk了 误人子弟! 转自: 一个窗口,代码可真多啊 http://www.yakergong.net/nehe/ 在这个教程里,我将教你在Windows环境中创建OpenGL程序 ...

  8. 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on

    [本文转载自http://sixpoint.me/942/implementing-simple-addon/] 实现一个简单的插件 教程的这个部分带你使用 SDK 来实现, 运行并打包一个插件. 这 ...

  9. CodeSmith使用总结--创建一个基础模板

    问:为什么要用CodeSmith? 答曰:因为我懒的写. Codesmith是一款非常不错的懒人工具,我也经常会用到,因为它在“重复代码”方面能够节省我们很多时间,并且解除了我们重复繁琐并且乏味的“码 ...

随机推荐

  1. Numpy常用金融计算(一)

    In [41]: a=[1,2,3,4,5,5,6,6,7,8,8,9,9] # list类型数组 In [42]: b=nu.mean(a) #调用numpy.mean方法计算数组元素的算术平均值 ...

  2. "_dns_free_resource_record", referenced from:问题

    本文转载至 http://blog.csdn.net/woaifen3344/article/details/41309471 _dns_free_resource_r_dns_free环信SDK集成 ...

  3. 服务器证书日期无效 SSL_DATE_INVALID

    一大早上,企业微信中提示不能使用:服务器证书日期无效  错误码:SSL_DATE_INVALID 网上资料也比较少,咨询了一下企业微信客服,建议访问网址:https://www.ssllabs.com ...

  4. nvm-windows 手动安装 nvm use 无效 'node' 不是内部或外部命令,也不是可运行的程序

    按照这两位前辈的教程,安装了nvm-windows. http://www.cnblogs.com/yesyes/p/7403184.html http://blog.csdn.net/jingsi1 ...

  5. 在DO搭建自己的ss

    前期准备: 1.一个paypal账户 2.国外的一台VPS paypal的注册需要一个邮箱和一张信用卡即可. VPS的话经过搜索对比,决定使用DigitalOcean的.(点击此链接注册DO可获得10 ...

  6. Outlook自动回复功能无法使用

    Outlook2010      http://support.microsoft.com/viewkb/viewkb.aspx?contentid=2596516 Outlook2007       ...

  7. Contos更换python版本

    1.查看版本 #python -VPython 2.6.6 2.安装前准备,安装相关库#yum install gcc gcc-c++ autoconf automake#yum install op ...

  8. 11.css定义下拉菜单

    注意点: 1.设置a标签的width 和 height 的时候,直接设置是没用的,可以以这样两种方式设置 (1). display:block; (2). float:left; 2.设置下拉菜单,最 ...

  9. attributes["wv"].nodeValue

    w 获取自定义属性的值 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  10. 模块化之SeaJS(一)

    模块化(之SeaJS) 刚接触的童鞋可能会有很多疑惑,比喻:什么是模块?模块的目的是干嘛呀?怎么样实现模块化呢? 不要急,博主正是带着这三个问题来写这篇文章的. 一,什么是模块化? 在前端开发领域,一 ...