@uepm/dependency-plugin 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DependencyPlugin.uplugin +1 -1
- package/package.json +11 -26
- package/README.md +0 -123
package/DependencyPlugin.uplugin
CHANGED
package/package.json
CHANGED
|
@@ -1,33 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"description": "Plugin demonstrating dependencies on other NPM plugins",
|
|
5
|
-
"main": "DependencyPlugin.uplugin",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "vitest --run",
|
|
8
|
-
"test:watch": "vitest"
|
|
9
|
-
},
|
|
10
|
-
"unreal": {
|
|
11
|
-
"engineVersion": ">=5.0.0 <6.0.0",
|
|
12
|
-
"pluginName": "DependencyPlugin"
|
|
13
|
-
},
|
|
14
|
-
"dependencies": {
|
|
15
|
-
"@uepm/example-plugin": "^1.1.0"
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"DependencyPlugin.uplugin",
|
|
19
|
-
"Source/**/*"
|
|
20
|
-
],
|
|
2
|
+
"author": "UEPM",
|
|
3
|
+
"description": "A plugin demonstrating dependencies on other NPM-distributed plugins",
|
|
21
4
|
"keywords": [
|
|
22
5
|
"unreal",
|
|
23
6
|
"unreal-engine",
|
|
24
7
|
"plugin",
|
|
25
|
-
"uepm"
|
|
26
|
-
"dependency"
|
|
8
|
+
"uepm"
|
|
27
9
|
],
|
|
28
|
-
"author": "",
|
|
29
10
|
"license": "MIT",
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
11
|
+
"main": "DependencyPlugin.uplugin",
|
|
12
|
+
"name": "@uepm/dependency-plugin",
|
|
13
|
+
"unreal": {
|
|
14
|
+
"engineVersion": ">=5.7.0, <6.0.0",
|
|
15
|
+
"pluginName": "DependencyPlugin"
|
|
16
|
+
},
|
|
17
|
+
"version": "2.0.0"
|
|
18
|
+
}
|
package/README.md
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# @uepm/dependency-plugin
|
|
2
|
-
|
|
3
|
-
Unreal Engine plugin demonstrating dependencies on other NPM-distributed plugins.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @uepm/dependency-plugin
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
This will automatically install the required dependency:
|
|
12
|
-
- `@uepm/example-plugin` - The plugin this one depends on
|
|
13
|
-
|
|
14
|
-
## Prerequisites
|
|
15
|
-
|
|
16
|
-
Your Unreal Engine project must be initialized for UEPM:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npx @uepm/init
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## What's Included
|
|
23
|
-
|
|
24
|
-
This plugin demonstrates:
|
|
25
|
-
|
|
26
|
-
- **Plugin dependencies** - How to depend on other NPM plugins
|
|
27
|
-
- **Dependency resolution** - Automatic installation of required plugins
|
|
28
|
-
- **Cross-plugin communication** - Using functionality from other plugins
|
|
29
|
-
- **Proper dependency declaration** - Both in package.json and .uplugin
|
|
30
|
-
|
|
31
|
-
## Plugin Dependencies
|
|
32
|
-
|
|
33
|
-
### NPM Dependencies (package.json)
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"dependencies": {
|
|
37
|
-
"@uepm/example-plugin": "^1.0.0"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Unreal Engine Dependencies (.uplugin)
|
|
43
|
-
```json
|
|
44
|
-
{
|
|
45
|
-
"Plugins": [
|
|
46
|
-
{
|
|
47
|
-
"Name": "ExamplePlugin",
|
|
48
|
-
"Enabled": true
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Plugin Structure
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
@uepm/dependency-plugin/
|
|
58
|
-
├── DependencyPlugin.uplugin # Plugin descriptor with dependencies
|
|
59
|
-
├── package.json # NPM package with dependencies
|
|
60
|
-
├── Source/ # C++ source code
|
|
61
|
-
│ └── DependencyPlugin/
|
|
62
|
-
│ ├── Private/
|
|
63
|
-
│ │ ├── DependencyPlugin.cpp
|
|
64
|
-
│ │ └── DependencyPluginModule.cpp
|
|
65
|
-
│ ├── Public/
|
|
66
|
-
│ │ ├── DependencyPlugin.h
|
|
67
|
-
│ │ └── DependencyPluginModule.h
|
|
68
|
-
│ └── DependencyPlugin.Build.cs
|
|
69
|
-
└── README.md
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Engine Compatibility
|
|
73
|
-
|
|
74
|
-
- **Unreal Engine**: 5.0.0 or later (< 6.0.0)
|
|
75
|
-
- **Platforms**: All platforms supported by Unreal Engine
|
|
76
|
-
- **Dependencies**: Requires ExamplePlugin to be available
|
|
77
|
-
|
|
78
|
-
## Usage in Unreal Engine
|
|
79
|
-
|
|
80
|
-
1. Install the plugin via NPM (dependencies install automatically)
|
|
81
|
-
2. Open your project in Unreal Engine
|
|
82
|
-
3. Go to **Edit > Plugins**
|
|
83
|
-
4. Find "Dependency Plugin" in the list
|
|
84
|
-
5. Enable the plugin (ExamplePlugin will be enabled automatically)
|
|
85
|
-
6. Restart the editor when prompted
|
|
86
|
-
|
|
87
|
-
The plugin will log messages showing the dependency relationship:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
LogExamplePlugin: Example Plugin has been loaded!
|
|
91
|
-
LogDependencyPlugin: Dependency Plugin has been loaded!
|
|
92
|
-
LogDependencyPlugin: Successfully found and using ExamplePlugin functionality
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Dependency Management
|
|
96
|
-
|
|
97
|
-
This plugin shows how UEPM handles plugin dependencies:
|
|
98
|
-
|
|
99
|
-
1. **NPM-level dependencies** - Ensures required plugins are downloaded
|
|
100
|
-
2. **Unreal Engine dependencies** - Declares plugin dependencies in .uplugin
|
|
101
|
-
3. **Build system integration** - Links against dependency modules
|
|
102
|
-
4. **Runtime dependency checking** - Verifies dependencies are available
|
|
103
|
-
|
|
104
|
-
## Creating Dependent Plugins
|
|
105
|
-
|
|
106
|
-
To create your own plugin with dependencies:
|
|
107
|
-
|
|
108
|
-
1. **Add NPM dependency** in package.json
|
|
109
|
-
2. **Declare Unreal dependency** in .uplugin file
|
|
110
|
-
3. **Add module dependency** in Build.cs file
|
|
111
|
-
4. **Include headers** from dependency plugin
|
|
112
|
-
5. **Test dependency resolution** during development
|
|
113
|
-
|
|
114
|
-
## Best Practices
|
|
115
|
-
|
|
116
|
-
- Always specify compatible version ranges for dependencies
|
|
117
|
-
- Test with and without dependencies to ensure proper error handling
|
|
118
|
-
- Document dependency requirements clearly
|
|
119
|
-
- Use semantic versioning for your plugin releases
|
|
120
|
-
|
|
121
|
-
## License
|
|
122
|
-
|
|
123
|
-
MIT
|