Commit Graph

35 Commits

Author SHA1 Message Date
Ben Marsh
eecb6f24ce Remove ensure against CoreUObject mount delegate existing unless there are plugins with content folders. Not entirely sure why this is necessary yet, but Mac DDC seems to be failing where it wasn't before.
[CL 2526386 by Ben Marsh in Main branch]
2015-04-26 22:19:39 -04:00
Ben Marsh
a784ebdf3c Change IPluginManager to return shared pointers to plugin objects, rather than passing raw pointers by default.
[CL 2526084 by Ben Marsh in Main branch]
2015-04-26 10:47:22 -04:00
Ben Marsh
11ff491a44 Add editor for plugin metadata.
[CL 2526069 by Ben Marsh in Main branch]
2015-04-26 09:18:08 -04:00
Ben Marsh
41d63d4980 Add a virtual destructor to FPlugin.
[CL 2524969 by Ben Marsh in Main branch]
2015-04-24 17:05:49 -04:00
Ben Marsh
9e4c2ae0a5 Use the exposed IPlugin interface to get plugin content folders rather than querying it separately.
[CL 2524929 by Ben Marsh in Main branch]
2015-04-24 16:37:21 -04:00
Ben Marsh
83e12c29e1 Accessor to get an array of all the enabled plugins.
[CL 2524773 by Ben Marsh in Main branch]
2015-04-24 14:58:39 -04:00
Ben Marsh
b1cf5c6d34 Add IPlugin interface, rather than exposing lots of raw data for plugins.
[CL 2524702 by Ben Marsh in Main branch]
2015-04-24 14:23:22 -04:00
Ben Marsh
8be8504edc Remove some of the tedious layers of indirection from the plugin manager.
[CL 2521707 by Ben Marsh in Main branch]
2015-04-22 16:41:13 -04:00
Jamie Dale
55c3728d11 Added support for showing game and engine classes in the Content Browser
UE-7184 - Show game c++ classes and engine c++ classes in the content browser

The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.

For example:
- Game C++ Classes
    - ShooterGame
        - Classes
            - Bots
                - ShooterBot
                - ShooterAIController
                - [...]
            - [...]

The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).

As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).

[CL 2409386 by Jamie Dale in Main branch]
2015-01-16 15:39:47 -05:00
Richard TalbotWatkin
7510a0ba0f Improved splash screen and initialization process.
[CL 2390837 by Richard TalbotWatkin in Main branch]
2014-12-17 02:15:23 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Peter Knepley
9028456f7d Merging CL 2355060
//depot/UE4-UT/...

to //depot/UE4/...

[CL 2355062 by Peter Knepley in Main branch]
2014-11-10 15:59:44 -05:00
Peter Knepley
15e57149aa Plugin config file usage
#codereview Josh.Adams

Merging CL 2337697

//depot/UE4-UT/...

to //depot/UE4/...

[CL 2338785 by Peter Knepley in Main branch]
2014-10-23 13:51:22 -04:00
Max Preussner
4766ae4a3e PluginEditor: Burst upgrades; added documentation links
[CL 2322900 by Max Preussner in Main branch]
2014-10-08 13:14:41 -04:00
Mikolaj Sieluzycki
969a19da52 TTP#341974 CORE: Add support for external content for plugins.
#codereview Robert.Manuszewski

[CL 2297762 by Mikolaj Sieluzycki in Main branch]
2014-09-15 03:24:02 -04:00
Robert Manuszewski
6c3eefa7a7 Fixing missing comma in ScriptPlugin.uplugin, adding filename to the plugin manager error so that it's actually useful
[CL 2293849 by Robert Manuszewski in Main branch]
2014-09-11 11:59:05 -04:00
Ben Marsh
31618620c1 Include module names in dialog for recompiling on startup, and don't allow continuing if they are an incorrect version.
[CL 2292600 by Ben Marsh in Main branch]
2014-09-10 12:43:07 -04:00
Dmitry Rekman
30a9dc0957 [Github] PR #306: safe/minor changes.
- Minor fixes, Linux-specific additions (like preferred source code accessor setting or building ForsythTriOO) and tweaks (log level, etc).

#codereview Josh.Adams

[CL 2237893 by Dmitry Rekman in Main branch]
2014-07-30 23:46:52 -04:00
Ben Marsh
a66e704793 Require all plugins to be present for a project to load, rather than attempting to carry on without them. Plugins may define object types, and loading packages without them can cause corruption. Can revisit in the future to allow for 'editor-only' plugins.
Plugin reference in the .uproject file has a "Description" field which allows setting a customizable message if the plugin is not available. Allows distribution of samples which require a plugin, but without including the plugin itself.

[CL 2237188 by Ben Marsh in Main branch]
2014-07-30 13:16:05 -04:00
Ben Marsh
97e8212ca3 Don't tell the module manager about plugin modules before we need to load them. It shouldn't need to know, and it causes it to cache when modules are missing even if they can be compiled.
[CL 2187821 by Ben Marsh in Main branch]
2014-07-10 14:20:43 -04:00
Ben Marsh
7e5c0aa227 Prevent an ensure when starting programs that compile-in the plugin manager but do not support content plugins, like SCW.
[CL 2131316 by Ben Marsh in Main branch]
2014-07-03 14:08:35 -04:00
Ben Marsh
de9c0853bf Add an toggle for showing plugin content, and disable it by default.
[CL 2124821 by Ben Marsh in Main branch]
2014-07-02 13:18:43 -04:00
Robert Manuszewski
f9bee4dda7 [GitHub] 263 : Search for project templates in plugin directories
[CL 2124323 by Robert Manuszewski in Main branch]
2014-07-02 07:33:17 -04:00
Ben Marsh
e35719b0b4 Store whether a plugin is enabled by default in the uplugin file (rather than in the INI file). Simplifies checks for what is enabled in UE4Game and decentralizes everything.
[CL 2119957 by Ben Marsh in Main branch]
2014-06-27 16:38:50 -04:00
Ben Marsh
100dfb0b32 Store the list of enabled plugins in the uproject file (fixing TTP 335060), and enable all game plugins by default (TTP 339313).
[CL 2119810 by Ben Marsh in Main branch]
2014-06-27 15:23:15 -04:00